Forth is super cool for embedded work. The normal dev cycle of build, burn, not work, tweak, build, burn, repeat is quite slow and annoying. It was kind of revolutionary for me to discover Mecrisp[0], which demonstrates how can provide a (fast!) language that also provides a friggin' repl into your hardware.
The ##forth IRC channel on Libera is quite active. Would recommend popping in for anyone interested. The two projects that got me interested in Forth are
Explanation and motivation for the What and Why of Forth and its implementation. Well, actually, it's actually an implementation in x86 assembly, but the comments are a wonderful exposition and intro into Forth.
Implementation of Forth in x86-64 opcodes. It's a hand-written ELF that implements a Forth. It's simplicity is absolutely beautiful.
SmithForth is what pushed me over the edge to really start learning x86 assembly and Forth. I started by hand-decompiling the SmithForth binary, which was quite an adventure on its own.
you probably can't use amd64 in embedded work, or even i386 these days, but i think 'a friggin' repl into your hardware' is a good explanation of what's appealing about forth
I think I posted an almost identical reply to you just a few days ago, but I'm presuming they linked the x86 examples because most people can actually try them without needing said embedded hardware
Someone linked to me FreeForth, a Forth that doesn't have any compile / interpret distinction. Everything is compiled, and if run interactively, words are first compiled into anonymous "function" and then run, which has a lot of benefits; such as allowing compile-only words at the REPL.
I haven't heard anyone talk about or recreate this variant, which to me seems a very interesting evolution of the original Forth. Nor has anyone tried to recreate it in something more readable than a thick assembly implementation that's trying to be a little too smart for its own good.
sad to see he's running microsoft windows, which i am sure is not running on a ga144, and an iphone
but it's wonderful to see he's still alive and still living in the mountain cabin and still working on colorforth
this is dispiriting:
> forth is a lovely language, but you have to be able to interface with your hardware. i've been doing that for 50 years and i'm tired of it. they keep changing the rules faster than i can learn what they are
i really respect that the most important purpose for his clock app is to tell him when the sky will turn beautiful golden colors
i wonder if it would be more informative for him to stream some live coding rather than just present finished programs, because i feel that the essence of forth is the interactive experience of using it
a surprisingly hardcore tidbit is (53'40") that colorforth context switches between apps by recompiling the new app from source. otoh i guess that's what php and streamlit do too
He's still listed as chairman at Greenarrays, which makes chips for embedded systems (and a version of Forth is still the official development system for them)
Having used Forth professionally for about ten years, the language has always held a special place in my heart. I have had the experience (fun!) of implementing Forth from nothing in a couple of processors (6502 and 68K).
While I do think the language is useful in certain domains, the main problem everyone has with it will be finding qualified programmers. I’ve had to convert codebases to C for this reason and, back in the day, made a fair bit of money doing this as a gun for hire.
carrot soup cookies bread butter cart grocery todo
would be one way :-)
1. Push items onto a stack.
2. Create new stacks (words) for categories of items.
FWIW, I do the same, and use a tool (now using almost exclusively the GUI tool I include in the github repo) to do it.
This is the explanation of the tree-of-stacks method that I am using: https://github.com/lelanthran/frame/blob/master/docs/FrameIn...
(yes yes, it's a slideshow, but until I can make a video, this is a better medium for visualising how it works).
The ##forth IRC channel on Libera is quite active. Would recommend popping in for anyone interested. The two projects that got me interested in Forth are
1. JonesForth: http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth...
Explanation and motivation for the What and Why of Forth and its implementation. Well, actually, it's actually an implementation in x86 assembly, but the comments are a wonderful exposition and intro into Forth.
2. SmithForth: https://dacvs.neocities.org/SF/
Implementation of Forth in x86-64 opcodes. It's a hand-written ELF that implements a Forth. It's simplicity is absolutely beautiful.
SmithForth is what pushed me over the edge to really start learning x86 assembly and Forth. I started by hand-decompiling the SmithForth binary, which was quite an adventure on its own.
[0]:https://mecrisp.sourceforge.net/
I haven't heard anyone talk about or recreate this variant, which to me seems a very interesting evolution of the original Forth. Nor has anyone tried to recreate it in something more readable than a thick assembly implementation that's trying to be a little too smart for its own good.
As a HLL guy, for me Lisp is more understandable (well I don't use it for daily work, though). And if I need low level, well there's assembly.
Even better, here's his "fireside chat" from 2023-11-18 https://www.youtube.com/watch?v=3jJkyc-raJQ
edit: his blog has a few brief announcements occasionally https://colorforth.github.io/blog.htm
sad to see he's running microsoft windows, which i am sure is not running on a ga144, and an iphone
but it's wonderful to see he's still alive and still living in the mountain cabin and still working on colorforth
this is dispiriting:
> forth is a lovely language, but you have to be able to interface with your hardware. i've been doing that for 50 years and i'm tired of it. they keep changing the rules faster than i can learn what they are
i really respect that the most important purpose for his clock app is to tell him when the sky will turn beautiful golden colors
i wonder if it would be more informative for him to stream some live coding rather than just present finished programs, because i feel that the essence of forth is the interactive experience of using it
a surprisingly hardcore tidbit is (53'40") that colorforth context switches between apps by recompiling the new app from source. otoh i guess that's what php and streamlit do too
https://www.greenarraychips.com/
While I do think the language is useful in certain domains, the main problem everyone has with it will be finding qualified programmers. I’ve had to convert codebases to C for this reason and, back in the day, made a fair bit of money doing this as a gun for hire.
> Current version is bigFORTH 2.4.0, Minos 1.4.0, from 22mar2010.
https://xkcd.com/2130/