Project Oberon Emulator in JavaScript and Java
schierlm.github.io
schierlm.github.io
There was a copy of Oberon for Linux bundled on my original Infomagic CD set back in the 90s. I played with it a bit, but without documentation there wasn't much I could do, and it was closed source and so doomed to die.
To me, Oberon looks like the Wirth version of Kay's Smalltalk system, where they both developed an all-in-one GUI system, from scratch, with completely different philosophies. It be interesting to do a detailed comparison of how they differ and why...
Actually, about half of the Oberon system must even be compiled first (using the "recipe" in OLR.Gadgets.Tool) before these programs can be used in Oberon. There's also documentation in form of a "book" (Desktops.OpenDoc Book.Tool) which explains the system on various levels, including the Oberon language.
The font size turned out to be too small on my screen (because the bitmapped screen fonts where made for different hardware), and the fonts are hardlinked from the documents, so I shuffled the *.Scr.Fnt files about two sizes down and everything was readable. I also replaced Default.Pal with Light.Pal for better contrast. You can use the OWEIGHT and OHEIGHT environment variables to set the window size.
All in all, the "TUI" (textual user interface) is really nice. There are indeed similarities with Smalltalk, Emacs, or the Plan 9 ACME system philosophy (which is probably not surprising, all of those take a "integrated modifiable system for coders" approach).
I wonder how much RAM it needs. Would this make a useful tiny operating system for homebrew computers, I wonder?