458 karma · joined October 27, 2015
You could make a frontend for dialect A to run code from dialect B. Those things have been toyed with, but never really took off. E.g. cl in Emacs can not accept real Common Lisp code.
I'm not arguing against the idea, I'm just curious how it would work because I see no realistic way to do it.
You might point out that there are things like elisp.lisp that purports to run Emacs Lisp in Common Lisp, but I'm not sure that's viable for anything but trivial programs. There's also something for Guile, but I remain unconvinced.
---
I have been fortunate to have worked professionally with Forth recently. It was so fun! But I still struggle to point out exactly why I like Forth, and why and how it's different. Your essay is fresh take, which is good.
To me, maybe the most important lessons are.
1. Eschew complexity (sometimes to a fault), and 2. Improve the code by redefining the problem. Look at things from another angle. (I hate to say it, but think out of the box.)
Much of Forth falls out from these principles. E.g. people are quick to point out Forth is a stack based programming language. Which is true enough, but to me it's kind of beside the point. The point is the language does away with local variables (redefine the problem) to lay the ground for a much simpler implementation (eschew complexity).
Yes, there's REPL. But why? Because Forth is (or can be) a programming language, operating system, compiler, and command line rolled into one. Heaps of layers and components done away with.
File system, virtual system, code structure, documentation? Blocks!
The list goes on. Once you internalize this, the veil falls from your eyes, and you see how much needless complexity stands in your way in most other languages, operating system, tools, apps, ... it's everywhere.
1. Sun's JavaStation, 2. ARM's Jazelle, ??? 3. Profit!
Amiga romantics.
8-bit romantics.
PDP-10 romantics.
Let them stay. Let them romantizice. <glasses tint="rose">
Didn't Multics, Project Genie, and TENEX have demand paging long before the VAX?
I recruited a team to transcribe a particularly important document, and I had us type each page to catch typos.
https://www.thonky.com/qr-code-tutorial/error-correction-cod...
https://dev.to/maxart2501/let-s-develop-a-qr-code-generator-...
First, the SAIL PDP-10 didn't run TENEX. SAIL maintained their own operating system based on the PDP-6 Monitor, called WAITS. I guess you could say its closest relative might be TOPS-10; certainly many programs could easily be ported over back and forth.
Second, as noted here, TENEX was not "later called TOPS-10". It also wasn't called TOPS-20. DEC took TENEX, and with extensive modifications and updates produced TOPS-20. Meanwhile TENEX continued to be developed and maintained separately at sites that elected not to switch to DEC-20 machines.