4 ms·
Just a little thing, this is in Julia
by nextaccountic 4y ago
Just a little thing, this is in Julia
- elcritch 4y agoSome have said Python is "enough" of a Lisp, but it's really not. Julia is much closer to being a true Lisp. It has macros sure, but its the overall feel and flexibility of the ecosystem that feels Lispy. At least as much as I've dabbled with Lisp and its history.
- cosmojg 4y agoHave you tried running `julia --lisp`? That's a full-blown Femtolisp interpreter built right into the REPL! I also recommend playing with `Meta.show_sexpr` which can take any Julia expression and represent it as an S-expression. For example: julia> Meta.show_sexpr(:(f(x, g(y,z)))) (:call, :f, :x, (:call, :g, :y, :z)) Lastly, this old doc page comparing and contrasting Julia with Common Lisp is a fun read: https://docs.julialang.org/en/v1.3-dev/manual/noteworthy-differences/#Noteworthy-differences-from-Common-Lisp-1 https://docs.julialang.org/en/v1.3-dev/manual/noteworthy-dif...
- pjmlp 4y agoTo put it in perspective, Julia is a Dylan like Lisp. https://en.wikipedia.org/wiki/History_of_the_Dylan_programming_language https://en.wikipedia.org/wiki/History_of_the_Dylan_programmi... https://en.wikipedia.org/wiki/Apple_Dylan https://en.wikipedia.org/wiki/Apple_Dylan Nowadays still alive as Open Dylan, https://opendylan.org/ https://opendylan.org/
- dermesser 4y agoIt turns out that Julia is ~a lisp, just with a weird syntax. If you look at the metaprogramming facilities, all expressions are first turned into s-exprs while parsing. There is no problem having a LISP syntax for Julia, and in fact this has been implemented! (https://github.com/swadey/LispSyntax.jl https://github.com/swadey/LispSyntax.jl) https://docs.julialang.org/en/v1/manual/metaprogramming/ https://docs.julialang.org/en/v1/manual/metaprogramming/