If you love HP-RPN calculators, you may love Forth as well.
Forth is a very interesting language, I find it a bit too complex for my little brain but give it a spin if, you have 2 free hours
The standard library is lacking some really nice conveniences. I'm working on correcting this and teaching Forth as a "grassroots" language for people who want to go back to the joy of programming as an art. The 100rabbits folks have already done a lot of work around proliferating that idea but I want to work outside of the Uxn machine that they use. Mark my words, us programmers are not phased by AI stealing the joy of programming :) The day job business programming, sure. But that was only fun sometimes. Forth will continue to exercise our brains and work through logic and data flow problems - skills we can bring to guiding agents for the day job.
Have you considered factor? Its from the joy-inspired branch of the forth/concatenative family, but its a heavily underrated, batteries included language. Which has a bit of a smalltalk feel given its image-based deployment and the "live" nature of its tools (graphical repl, object inspectors, etc)
That’s because Gforth is a threaded-code VM that saves dictionary images rather than compiling to native code.
As you prolly know, Forth blurs compile time and run time in general, and there’s no so-called clean compile, then link boundary like in C.
SwiftForth, VFX Forth, and iForth do emit real executables, and there are smaller native-code Forths for Linux too, but then the opportunity cost is losing Gforth’s portability and its standards-heavy library ecosystem.
> [Gforth is] a free, fast, featureful and portable implementation of the Forth 2012 language.
> Gforth runs under GNU, BSD, and similar systems, MS Windows and MacOS X and should not be hard to port to other systems supported by GCC.
BTW, on the other side, looks like gforth still lacks the ability to create native OS executable, something like:
gcc myprog.c -o myprog
?
As you prolly know, Forth blurs compile time and run time in general, and there’s no so-called clean compile, then link boundary like in C.
SwiftForth, VFX Forth, and iForth do emit real executables, and there are smaller native-code Forths for Linux too, but then the opportunity cost is losing Gforth’s portability and its standards-heavy library ecosystem.
https://github.com/ncw/ccforth
I wrote it as an experiment in having both a forth interpreter and compiler running at the same time.
Forth can have comments and doesn't need to be all at one line:)
also labels works as functions etc.
Its way more tradable language in real life than people think