"As platforms and operating systems proliferated in the early 1980s, the company found it difficult to port the assembly language-based dBase to target systems. This led to a rewrite of the platform in the C programming language, using automated code conversion tools. The resulting code worked, but was essentially undocumented and inhuman in syntax due to the automated conversion, a problem that would prove to be serious in the future."
I built this because I missed the dot prompt. Before SQL and ORMs, you typed USE customers, then LIST, and your data was just there. WebBase-III is that whole world rebuilt from scratch as a web app: a W3Script interpreter (lexer, recursive-descent parser, async executor) in TypeScript, backed by Node, WebSockets and SQLite. BROWSE, @ SAY GET forms, .prg programs, indexes with SEEK, reports — it's all there.
One-click try (no install) via Codespaces: https://codespaces.new/DDecoene/WebBaseIII. Open port 5173 and you're at the dot prompt.
It's deliberately a toy (AGPL to keep it that way). Happy to answer anything about the interpreter or the dBASE quirks I had to decide whether to preserve — like the 10 work-area limit, which I dropped.
https://youtu.be/bYU3CQomE5M?is=BysfXD3ybPme-DoL
Before my time, but fun to see how much could be done with it!
Rewriting it with an LLM, is surprisingly apt.
Here it is again, reborn using Claude Code, using modern tech (Cloudflare, D1, Workers/TypeScript, Pages):
The Similarities Engine
https://SimilaritiesEngine.com
The albums if you're curious:
Amorphous Androgynous - The Isness - 2002-08-05
Boards of Canada - Music Has the Right to Children - 1998-04-20
Booka Shade - Eve - 2013-11-01
Orbital - Blue Album - 2004-06-21
Rone - Tohu Bohu - 2012-10-15