From time to time, people ask me "why use an assembled language, wouldn't just rebuilding an SDL application be faster?"
The same question goes for interpreted languages. Oquonie builds in 32 milliseconds on a relatively slow computer, it allows me to do live refresh of the application, whereas building even a simple SDL2 application in C takes about a full two seconds.
@akkartik I know right, I haven't really found a good way to handle that yet, it might be that the assemblers should handle that, but I'm not sure if that's the best idea.
@alderwick and a few others have, from the very beginning, closed their routines in the same indent level as the body of the routine, and I'm starting to regret not catching on that habit earlier.
@akkartik@alderwick It won't be nagging anyone unless they, like me, go about to assemble the linter and run their code through it. I made this for myself to see if I had some blindspots, and it turns out I do, I'm not saying I will obey all suggestions, but I will try to make the applications as fast as I possibly can for the user, even if that means making the code more convoluted.
@cassvs@aynish I'm not planning to implement lisp, although, it already pretty much serves the exact same APIs. I needed a little untyped lambda calculus framework for a project of mine so I added cons cells in assembly.
I was surprised how easy it was to implement these at the lowest level. It's actually quite elegant. I wrote a few s-exp parsers in javascript and it doesn't even come close to the beauty of doing it in forth.
@akkartik@d6@alderwick it returns two characters forming a decimal string. But this function isn't really important, here's another one like it, notice how it does not return but falls through to the next routine
@d6@alderwick Do you know what these types of routines are called? When they work sort of like funnels? The string painting and printing are other examples, someone is asking me by email and I don't think we've ever found a name for those?