4 ms·
You're right. Thanks for catching that incomplete sentence/thought. It uses fexprs in place of macros. I had been reading John Shutt's paper a day before this
by eggy 10y ago
You're right. Thanks for catching that incomplete sentence/thought. It uses fexprs in place of macros.
I had been reading John Shutt's paper a day before this post, on what he calls vau calculus vs lambda calculus, where the Kernel programming language is used as an example implementation [1]. Very interesting take on fexprs given the arguments raised around them.
[1] https://web.cs.wpi.edu/~jshutt/kernel.html https://web.cs.wpi.edu/~jshutt/kernel.html
- qwertyuiop924 10y agoWell, Shutt's work is about doing analysis and optimizations to fexprs. Picolisp essentially views compilers, analysis, and optimization as anathema.
- eggy 10y agoAgreed. I am just struggling with Shutt's paper, but every now and then I get an epiphany in my understanding, and so I keep reading on. I am basically revisiting the old history of fexprs for my own education. PicoLisp is pretty fast as an interpreted language, and holds a niche spot. But then again, the creator built it up over the years for his own work. It is very practical and compact when you use it in certain scenarios. I am ambivalent about the way it mixes PicoLisp and HTML in the Canvas examples. It cuts both ways to be that integrated. Still, I always go back to play with it, because I just love how succinct and logical the code is for a lot of typical programming chores. I tried doing a game with it, but it was too much work (for me) to get it going cross platform, or at least Windows aside from Linux. I don't like Cygwin at all.
- qwertyuiop924 10y agoYeah, you can have POSIX, or you can have cross platform: pick one. Picolisp is interesting, but as a schemer, I wish it had TCO. Lexical scope would be nice too: macros are hard enough to code, don't make us worry about macro programming when we're not writing macros of fexprs.