| I generally like Elixir approach, but find that in many cases it's more verbose than standard Erlang syntax. I like Erlang way of using lowercase for atoms and uppercase for variables, in Elixir they use ':' sigil to denote atoms like in Ruby, this makes code much more verbose, since atoms are widespread in Erlang and also used for module names. Elixir should take good parts of Ruby, not sigils, which are inherited from Perl. They are the reason I dislike Ruby's internal DSLs, b/c they are not English, but English with sigils. If possible I would get rid of commas, I.e. [1 2 3] instead of [1,2,3] . I agree about f.() being ugly. if function names were lowercase and variables uppercase - there would be no need to introduce new fun call syntax. Also agree about docstrings moved inside the functions (like in Python and Clojure). Same apply to dialyzer typespecs. I think single assignment should be default, but there are should be way to explicitly override it, i.e.: a = 1
a = 2 - bad match, but
'a = 2 - ok
|