4 ms·
Don't knock it if you haven't tried it!
by physPop 4y ago
Don't knock it if you haven't tried it!
- dmytrish 4y agoI have tried it: I wrote multiple Lisp interpreters, including a Scheme in C with garbage collection and basic call/cc. I wrote a simple regex engine in Scheme. I wrote a basic just-in-time transpiler from elisp to Javascript. I dabbled with Common Lisp. I still don't like it: - a quality implementation of any Lisp is _not_ easy, e.g. just look at SBCL or Chez Scheme - minimalistic implementations are a selling point, but I take Lua over any minimalistic Lisp anytime. Chances are that a Lua interpreter library will be smaller. Micropython runs on anything slightly more powerful than Arduino nowadays and gives you objects and async on an effing microcontroller. - developer experience is miserable/ascetic, even compared to Lua (maybe except Clojure). Things we take for granted (dictionaries/hashmaps/object properties) are still missing from Lisps. - structural editing is now available for any language that supports a proper language server (which almost any modern language does). s-exprs failed to become a common data language for anything. It's possible to have a simple and humane syntax at the same time (Zig, Go, Lua) - I've learned to avoid macros and dynamic code generation unless I have a very good reason to use them in any language, otherwise they are a code smell. It was painful for me to watch the video in the article where the author counts parenthesis and gets the job done in spite of the language, not because of it.
- reerdna 4y agoSorry to have caused you pain! I thought this video would get maybe 100 view at most, or I would have put more effort into it (like implemented paren matching in the editor first). I like lisp (and apparently it's good HN bait). But the language is not really the core of this project. It is more about making a truly personal computer. One that doesn't require you to think about charging or software updates. That is always fast and responsive and ready to use as it is never doing something strange in the background. Simple enough for me to feel like I understand how everything works. And writing your own OS for it is easy if you wanted to - you could implement forth, lua, a small C compiler - whatever you wish, and these properties would still be preserved. Useful? Probably not. Fun? At least for me it is.
- dmytrish 4y agoYour project is really admirable (I'd like to make a tiny computing machine and a full computing stack myself at some point), and having fun is a sound reason to use Lisp :) It was just me and my pet peeve that Lisps stopped being a superpower decades ago.