I picked up Elixir and LFE (Lisp Flavoured Erlang) at the same time. I prefer Lisps, and so I stuck with LFE, so my knowledge of the current state and capabilities of Elixir is lacking.
Robert Virding who co-created Erlang, created LFE. He responded to Jose Valim in 2013 in a LFE vs Elixir thread [1].<p>I was accused of spreading misinformation when I made the same point recently on HN in another Elixir thread [2].<p>So my question is: Does Robert Virding's point still hold about Elixir's macros only able to use its predefined syntax, and not create new syntax like a Lisp can. I like Elixir, I just prefer Lisp's syntax. However, if Elixir is making these type of improvements I may want to revisit it, and to ensure I am not repeating old, incorrect information.<p>Robert Virding uses this example (look at the thread for context):<p>>> (defmacro kl
>> ((list* k v rest) `(cons (tuple ',k ,v) (kl ,@rest)))
>> (() ()))<p>>> which I can use<p>>> (kl a (+ 2 7) b 6) ==> (#(a 9) #(b 6))<p>Can Elixir do this or not?<p>Thanks!<p><pre><code> [1] https://groups.google.com/forum/#!topic/lisp-flavoured-erlang/ensAkzcEDQQ
[2] https://news.ycombinator.com/item?id=14390916</code></pre>