4 ms·
I got about halfway through it during a slow work week. It was a throwback to my hardware classes from college. It got me thinking differently about computing.
by forth_throwaway 2y ago
I got about halfway through it during a slow work week. It was a throwback to my hardware classes from college. It got me thinking differently about computing.
I am young and stupid, but from a rear-view perspective it looks like maybe certain abstractions were chosen in the old days when there were hardware limitations, and that our current "evolutionary branch" of programming languages has a lot of abstractions that have not aged well, leading to a lot of layers of load-bearing cruft --much like any engineering project.
Collapse OS might not be practical today, but it has a "liberating" appeal. Freeing yourself from all these layers of abstraction sounds really enticing. A way to enjoy computing as it existed in the 1960s, but without the terrible developer experience. (or so I imagine)
Currently my pie-in-the-sky project would be to work through these projects, get Dusk OS building on a virtual machine, then physical machine, then write a Scheme interpreter for Dusk OS in C --and go hog-wild from there.
I have a couple of rivers to cross before I get there. I implemented a Scheme interpreter in Python in a couple of hours, then improved the scanner/Tokenizer in a couple more hours. Now I'm reading through crafting interpreters to see how I would go about implementing a Scheme interpreter in C. After that's done and I implement an interpreter in C, I'll revisit this guide and try to jump headfirst into DuskOS.
- sourcepluck 2y agoOk, I'm tempted to go back to it, thanks for sharing your experience! I have had some ideas similar to what you describe. I wonder if you've seen https://wiki.xxiivv.com/site/uxntal.html https://wiki.xxiivv.com/site/uxntal.html. Some of the projects listed here might be of interest to you either https://malleable.systems/catalog/ https://malleable.systems/catalog/
- forth_throwaway 2y agoThat malleable systems manifesto really resonated with me. I actually did a project recently where I tried to adhere to that sort of ethos: https://pickles976.github.io/Hari-Recipes/ https://pickles976.github.io/Hari-Recipes/ It is nice to see others with similar feelings.
- exe34 2y agoI found this quite easy to follow: https://www.buildyourownlisp.com/ https://www.buildyourownlisp.com/ for building a not-quite-Scheme in C. I didn't get massively far but only because of the sheer amount of other shiny things.
- forth_throwaway 2y agoYes I have seen that one! It's on my list of resources. There's also this, which I have been studying the code of as I follow along with Crafting Interpreters, to try and incrementally understand the codebase: https://github.com/vibhavp/skeem/blob/master/src/builtins.c#L552 https://github.com/vibhavp/skeem/blob/master/src/builtins.c#... The simplicity of the eval function is so cool!
- codr7 2y agoFamous last words :) I was adding a scripting language to an application, I just needed a scripting language, that was 16 years ago.