Comment by chrsig
2 years ago
> SBCL has definitely proven itself to be a good companion to explore the generation of domain-specific machine code. I don’t know of any other language implementation with that kind of support for interactive programming and machine code generation (and inspection). FWIW, I believe LuaJIT + dynasm will soon be comparable.
Julia! It's very lispy, actually, but it does a very good job of exposing different layers of parsing & compilation through llvm
see the interactive utilities documentation[0] -- there are a few macros and functions, prefixed with code_, that output the generated code
[0] https://docs.julialang.org/en/v1/stdlib/InteractiveUtils/#In...
I really don't understand what would make someone say that Julia is lispy. People say that about R as well, but I don't see that either.
To me, lisp is many things, but the first thing it is is s-expressions. Most/many languages have macros. Lisp is just particularly good at those...
Julia[0] shares features with Dylan[1] which was an attempt at designing a Lisp-like language without s-expressions.
[0] https://en.wikipedia.org/wiki/Julia_(programming_language)#L...
[1] https://en.m.wikipedia.org/wiki/Dylan_(programming_language)
From the Julia side, Common Lisp [0] feels like writing Julia. Both the code itself and the development experience.
[0] https://youtu.be/y5Rn41fPIuQ
I didn't interpret OC as calling Julia lispy, as much as saying that Julia is matched to SBCL's interactive machine code generation and inspection. I don't have a dog in that particular fight; I've barely touched either language.
Except, macros. I have never seen macro wizardry come anywhere near SBCL without homoiconicity.
edit: pre-coffee reading comprehension, apparently. The word lispy is _right there_ in OC.
To clarify, I was trying to say that both
- the julia runtime does a good job competing with sbcl with regard to interactive code generation. I'm not familiar enough with sbcl (or julia, really) to rank one over the other -- but from what I have seen, they're in the same ballpark.
- julia feels like a lisp to me, due to many features of the language and how much it emphasizes repl based development. I can respect that others may not feel the same -- it's a subjective matter.
I'm not heavily invested in either -- I just think they're both nifty.