Be careful. Factor is a gateway to lower level stack based languages.<p>I saw Zed Shaw do a presentation using factor and decided to spend a weekend playing with it. It was the start of a two year journey that ended with me writing forth for microcontrollers. That was time I should have studied but was somehow always sidelined by other things.
In case anyone else was curious, Slava Pestov is now at Apple working on Swift. Top of his twitter[1] is a WWDC22 talk "Design protocol interfaces in Swift"[2] (but video seems 1x-only - I don't see a copy on yt - there's a transcript).<p>[1] <a href="https://twitter.com/slava_pestov" rel="nofollow">https://twitter.com/slava_pestov</a>
[2] <a href="https://developer.apple.com/videos/play/wwdc2022/110353/" rel="nofollow">https://developer.apple.com/videos/play/wwdc2022/110353/</a>
Ha! I implemented "concatenative" programming for Java as Binding [1] (or Unit) expressions, but had no idea. Seriously, never came across that term before this post.<p>The idea with binding expressions is the type of expression A and the type of expression B implement "reactions" with one another in order to form a binding expression when they are lexically adjacent.<p>65 mph<p>The type of `mph` defines a post reaction method with the type of `65` as an argument that results in type Rate. As I understand it this is concatenative, right?<p>Another example:<p>Money payment = 1.5M USD;<p>There are tons of these.<p>Concatenative programming in general feels like it should have a more prominent place in mainstream languages. Just my take.<p>[1] <a href="https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#unit-expressions" rel="nofollow">https://github.com/manifold-systems/manifold/tree/master/man...</a>
You can read HN in the Factor listener:<p><a href="https://bluishcoder.co.nz/2020/04/18/fun-factor-libraries.html" rel="nofollow">https://bluishcoder.co.nz/2020/04/18/fun-factor-libraries.ht...</a>
Chris Double's posts on Factor:<p><a href="https://bluishcoder.co.nz/tags/factor/index.html" rel="nofollow">https://bluishcoder.co.nz/tags/factor/index.html</a>
I used to play around with Factor in 05-10ish. Had all of a semester of C and a few physics labs worth of Matlab under my belt so I never actually managed anything interesting in it but god damned if it hasn't ruined me for every other language.
Those examples look really weird and cool.<p>This web app is using XML for it's views: <a href="https://github.com/factor/factor/blob/master/extra/webapps/wiki/wiki-common.xml" rel="nofollow">https://github.com/factor/factor/blob/master/extra/webapps/w...</a>
Concatenate languages are fun, but damn if that isn't an annoying UI. It's gated with some kind of captcha, and it made me go through 40+ rounds, with every few selected images resizing and shifting the captcha.
Damn, that indeed looks interesting. Could someone give here a Factor vs Forth tl;dr? Forth appears to be tailored for embedded systems, but the velociraptor is growing quick on me.