5 ms·
Well this is mine — the BEAM, which already has Prolog-y (Erlang), Algol-y (Elixir) and Lisp-y (LFE) As a full time Elixir Dev, I actually consider Elixir t
by grantjpowell 6y ago
Well this is mine — the BEAM, which already has Prolog-y
(Erlang), Algol-y (Elixir) and Lisp-y (LFE)
As a full time Elixir Dev, I actually consider Elixir to be a lisp (albeit, pretending it's not one).
Elixir code is 100% expressible as Elixir data types (see quote/unquote [0]), and it supports hygienic macros in the same way lisp does [1][2][3].
Elixir steals other stuff straight out of lisp like protocols [4], the "loop" macro (Erlang has a form of this, but not as full featured)[5].
This is on top of the stuff that Erlang already took from lisp such as linked lists and symbols [6].
[0] https://elixir-lang.org/getting-started/meta/quote-and-unquote.html https://elixir-lang.org/getting-started/meta/quote-and-unquo...
[1] https://elixir-lang.org/getting-started/meta/macros.html https://elixir-lang.org/getting-started/meta/macros.html
[2] https://hexdocs.pm/elixir/Macro.html https://hexdocs.pm/elixir/Macro.html
[3] https://hexdocs.pm/elixir/Code.html#eval_quoted/3 https://hexdocs.pm/elixir/Code.html#eval_quoted/3
[4] https://elixir-lang.org/getting-started/protocols.html https://elixir-lang.org/getting-started/protocols.html
[5] https://elixir-lang.org/getting-started/comprehensions.html https://elixir-lang.org/getting-started/comprehensions.html
[6] https://elixir-lang.org/getting-started/basic-types.html https://elixir-lang.org/getting-started/basic-types.html
- freedomben 6y agoI've written quite a bit of Elixir and introduced a few people to it, and I totally agree. When people ask me what Elixir is like I basically say, "It's a Lisp with a Ruby-ish syntax." Anyone who has used a lisp before recognizes the patterns immediately.
- dnautics 6y agoit is of course entirely possible to program for years in Elixir without realizing it's a lisp; Despite having cut my teeth at the ripe age of 9 on scheme, I only realized Elixir "was a lisp" when I got into more advanced macro-writing, and noticed that macro writing is very similar to Julia (which actually has a lisp sitting in its core). In any case, it definitely has algol syntax.
- pjmlp 6y agoDylan is another example of a Lisp with Algol syntax.