> Clojure is a Lisp and as such comes with all the goodies Lisps provide. Apart from these Clojure also introduces powerful abstractions such as protocols, multimethods and seqs, to name a few. [...] It is fair to say that combining the power of the Erlang VM with the expressiveness of Clojure could provide an interesting, useful result to make the lives of many programmers simpler and make the world a happier place.
Also, at this point Clojure is becoming a kind of nice foundational language with multi-host targets. So if you know Clojure, you can now leverage the JVM, various JS runtimes, the CLR, now also the BEAM, etc. So there's that too. So basically, to someone already knowing Clojure it's a nice way to have access to more platforms.
Another reason might be the "cultural" aspects of Clojure, and their impacts on its ecosystem - in particular simplicity and stability are paramount, whereas the Elixir ecosystem seems to put more emphasis on immediate ease of use and elegance à la Ruby, at the cost of doing some "magical" designs which you tend to not see in the Clojure ecosystem.
If you want a Lisp (although there are multiple Lisps for the BEAM). If you want to help build a new language. If you don’t like Elixir’s syntax (raises hand).
I don't particularly care for the ambiguity that stems from facets of it being optional, nor the way function match arms are defined, nor the :atom or lowercase variable naming syntax. The mixing of do and -> kinda bugs me as well. :shrug:
Though my opinion on the matter is deeply colored and probably unreliable because I'm one of those weirdos that thinks that Erlang syntax is actually quite nice for the most part.
Also, I'm in no position to complain since currently my technical life (what little is left not making slide decks) now revolves around Rust, Agda, and TLA+ (god help me).
It's been a while since I looked at Elixir but the different syntax for invoking named functions vs lambdas really left a bad taste in my mouth...
Also I remember trying to do something with the pipe operator that I couldn't get working due to the syntax of the language but which would've been trivial in Clojure using one of the threading macros.
Pardon me for saying it but it sounds like you tried for 5 minutes, gave up because it's not familiar to you, and then said you don't like the pipe operator.
You might have wanted to say something else but this is how you sounded to me. Am I wrong?
I think the more interesting question would be why Clojerl over LFE (http://lfe.io/)?
Yes, there is a community around Clojure that would feel more at home with the BEAM if they could use Clojure there... and this is likely the answer to my first sentence... but once you get to a Lisp it seems like the leap is less far to another Lisp and LFE, I would think, is better established.
So I guess the real question would be, for those outside the Clojerl project, are the benefits Clojure more specifically on the BEAM worth the costs of foregoing a (possibly/likely) more mature Lisp that already exists for the BEAM?
I wouldn't bet against Chris McCord and Jose Valim.
They've done a wonderful job with Phoenix and Elixir. I think this feature liveview will be develop as good as presence feature and eventually will be good enough.
it's such a weird concept to me.. "server-rendered html" is what i was doing most of my webdev career and suddenly it's the "hot new thing"?
anyway i still don't see why i would need it with Clojure if i can have single codebase and language for backend and frontend and render whatever i want at either -end.
There’s no way either statement you’re saying ia true. Clojure is certainly not “incredibly popular.” And if you think many people are scared away from the JVM vs the BEAM, I don’t even know what to say.