5 ms·
As someone who has written a considerable amount of Forth as a hobbyist, studied APL, and been paid to write K, it's fascinating to me how aesthetically similar
by RodgerTheGreat 7y ago
As someone who has written a considerable amount of Forth as a hobbyist, studied APL, and been paid to write K, it's fascinating to me how aesthetically similar the Forth and APL communities are, despite their languages approaching minimalism from completely different sides of the spectrum. I definitely credit learning to read Forth as helping to open my mind to the unconventionality of APLs. Spend enough time out there on the edge and you don't get as hung up on whether syntax resembles C or is "unreadable".
- Avshalom 7y agoForth and APLs both have a really strong data flow aesthetic.
- RodgerTheGreat 7y agoExactly! They're both concatenative languages, or at least languages which have a concatenative subset. Juxtaposition is composition. APL/K and Forth also have very concise syntax for declaring functions. // JS const foo = (x,y) => 1 + x * y // K, lambda with implicit arguments foo: {1+x*y} // K, points-free foo: 1+* // Forth : foo * 1+ ; It's subtle, but I think making function declarations "lightweight" in this manner is important for encouraging factoring. In APLs the scale of the semantic units you give names to is a little different, but that's its own separate discussion.
- fiddlerwoaroof 7y agoIt would be interesting to have a forth where, if you try to pop from an empty stack, you get a function object that consumes the next things pushed onto the stack (i.e. functions are curried)
- new4thaccount 7y agoInteresting points. Thanks for pointing this out. I'm nowhere near your level of comprehension in either language, but agree that spending some time outside of curly brace land gets you more comfortable with other languages.
- co_dh 7y agowe are quite similar except I am paid to write q. In fact, I am writing a forth in q now.