I'm really impressed by Factor. It has a lot of the niceties that I like about Common Lisp, like restarting on errors and the compiled-but-interactive development approach. On top of all of this the development environment is presented as a very cohesive package, including standardized project structuring styles, a documentation system and a UI library.
The last time I tried to learn it I stopped because I found the concatenative syntax even harder to parse than s-exprs when any math was involved. I'm giving it another go now.
I got my start programming in Forth - we were making PC games for the Japanese market in the early 80s - Epson and Sharp machines... and Forth was just magic - I've missed it - must check Factor out!ppl interested in a concatenate audio synthesis DSL should check out SAPF https://github.com/lfnoise/sapf
I played with factor for a while in 2009 and loved the language. I hung out in the #concatenative irc channel for a few months with many of the factor devs.
I stopped using it because it was a bit too niche, I realised I’d likely never get to use it in any serious context, and instead I learned a slightly less niche but still niche Clojure.
I don’t regret the switch at all and have learned a lot from Clojure, and used it extensively for over a decade. Lately I’ve moved away from it though. Mostly to typescript, a little rust, and Gleam, which is an absolute joy to use.
I still have a soft spot for Factor and am happy to se wits still worked on. It was one of the most interesting languages I at one point played with.
Years ago I built a website in Factor for testing HTML 5 video in browsers using the Theora codec. It allowed uploading videos, playing them in the browser, converting to Theora, transcoding YouTube videos, etc. It operated for a few years.
About the same time I wrote an 8080 emulator in Factor and emulated Space Invaders and a couple of other games using the Factor UI code.
For quite a while it was my go-to language for implementing things.
Man, it would be helpful if they explained what a concatenative language actually was (maybe it's common knowledge?) - every link is just a page of other concatenative languages rather than an explanation.
reply