
I got myself interested in the Euphoria language again, downloaded OpenEU and wrote some code. The language basically works as well as ever - somewhere in between Basic and Lua, with the idea of "one data structure that does everything" (nested, ref-counted lists) but designed towards average-case, less-is-more speed and easy access to I/O and memory, rather than abstract capability or deeply engineered compile-time optimization.
Instead of static type checks or reflection it provides a simple contract mechanism used at runtime, which can be disabled for performance. It has pokes and peeks, it can support self-hosted assemblers, and it can be run in interpreted or compiled-to-C modes. When I think of "games languages", it always comes to mind, because it's shaped right for that, more so than any of the GC stuff that is now common. Coming back to it, I understand all of its design decisions and am very impressed.
The only problem Euphoria had is that it was a "microcomputer language" sold commercially, that started having to chase after post-Web ways of thinking about computers. It never gained a package manager, but it still has an "Archive" of user code with antiquated pages like this:
https://rapideuphoria.com/lan.htm
And the Archive in turn is a kind of historical record of what people saw in the language. A lot of people wanted OOP extensions - they saw that hype and were convinced it would solve their hobby coding problems. And they wanted bindings for this or that gigantic cross-platform C library, which inevitably fall out of date - a majority of forum posts now seem to be "getting the dependencies to work". But the actual place where it shined was as a convenient alternative for "accessing VGA mode 13h and banging on the buffers" - DOS-era game coding where you could still just talk to hardware. The problem is that the world kept moving farther and farther away from that.
However...I think it could be interesting again, if one were targeting microcontrollers. A less-is-more language that is also made to do real-time things instead of being Lisp again.