Onat's KYRA, Compiled FORTHs, a new rabbit hole..
While on twitter doing the usual engagements, someone linked me a vod of a non-text based editor done entirely in a custom toolchain:
I can’t write yet on everything that’s going on in this talk. But what I do know is that I will be making time to learn. Below will be notes that I’ve accumulated so far in this pursuit.
Onat has a website an article on KYRA. We immediately learn that its a “concatenative language” derived from offshoots of FORTH. Particularly Moore’s own colorFORTH along with taking heavy inspiration from Timothy Lottes’s custom compiled Forth-like he worked on throughout the late 2000s up to 2016 at least (his blog is dead and the only archive of it is a github repo).
Edit - Older Vod from 2020:
TimothyLottes.github.io
I will catalogue below all the relevant pages from Timothy Lottes’s archived blog. They can previewed without download a zip archive with the preview button on the top right-corner of github’s text viewer:
github.com/TimothyLottes/A (DEAD)
The above is great and all, but very difficult to enter the world of if you don’t have any assembly background. In my case; I’ve only recently began to focus on curating my C, C++ and more recently: Odin code more closely; as of being introduced to the “Handmade” communities around 2019. With the furthest I’ve gone being reducing runtime symbol pollution, making sure my code paths and data structures are simple and sane. I can read disassembly to a useful extent… So what’s the best place to start?
As with most things I find it’s easiest to learn something by constructive a narrative to world build off of. So gaining a historical perspective of FORTH’s development and attempting to chain that in with some “Trial By Fire” guide to forth and a “compiled” FORTH. Most forths have this interpreter layer and operation with how they behave that seems to act as a mock repl or editor. From what I can tell Onat’s and Lottes’s goals are something else, where the editor provided that mechanism not the “language” processing layer.
The classic start page for FORTH: Forth Language
History and more laid out there
StartingForth book..
jonesforth.S seems to be the best introduction to the original language.
After I finish my initial knowledge base curation I think I’ll start with getting jonesforth ported to a windows x64 process sandbox. I’ll need to learn dealing with assembly directly. I’ll probably will go with GAS, FASM, or MASM, whichever provides an easier debugging experience. The original source is targeting x86-32 linux. I could try to get that ported to work on a steam deck instead after as well… Much to digest.