Elixir 0.7.1 — A meta-programmable language built on the Erlang VM [video]
elixir-lang.org
elixir-lang.org
One concern: Is it even slower than Erlang itself usually is?
In practice, you may find that your Elixir code is even faster than the equivalent code you might write in Erlang. Elixir encourages some things like compiling some logic into your modules. For example, Dynamo compiles routes so they're super fast. String.Unicode is compiled from the UnicodeData.txt database itself[1].
[1]: https://github.com/elixir-lang/elixir/blob/master/lib/elixir...
I looked at the GitHub repo and there didn't seem to be much.
All I could find was:
https://github.com/josevalim/dynamo/blob/master/examples/sim...
Can I mix a websockets server into a Dynamo app? Websockets are a key use-case for Erlang for me.
I've been looking into how to do a WS server on Erlang and this was the most modern example I could find: https://github.com/ostinelli/misultin/blob/master/src/misult...
To be frank: pretty fucking gnarly.
On the WebSockets issue, I'd check out Cowboy. Cowboy seems to be the new hotness in erlang web apps. It has at least some support for web sockets.
https://github.com/extend/cowboy
If you're looking for a full featured web framework with built-in web socket support then maybe what you really want is Nitrogen: http://nitrogenproject.com
Finally, and just for completeness, since I'm mentioning web frameworks, you'll probably want to see what ChicagoBoss's WS story is: http://www.chicagoboss.org or if someone's done something with WebMachine and websockets: http://basho.com
I think Nitrogen sounds like the best bet.
Since Elixir seems to mix effortlessly with Erlang, you should be able to write your code in Elixir using any of these frameworks.
Edit:
Took a look at the documentation. You couldn't pay me to touch Nitrogen. Hopefully Cowboy turns out to be more promising. I'm already familiar with CB.
This is what makes adoption of CoffeeScript and TypeScript no brainer - you can always get back to plain readable JavaScript.
However, the AST it produces won't be perceived fully idiomatic style-wise (because of how some macros expand) so there might be not much value in this.
Also, without Elixir stdlib, such compilation would be useless as idiomatic Elixir normally includes use of Elixir stdlib.
For me, what makes it safe to adopt Elixir is the fact that worse comes to worse, I still have my .ex sources, they compile to valid beams, why should I care?..
Hope to give it a try for smaller project.
...if only it allowed monkey patching and, bien sur, refinements to make them "manageable" :(
</sarcasm>
The community around Elixir is small, but VERY good. Jose Valim is the kind of person who is an ideal community leader, and thus it's great to have him leading this effort.
This is the language that should be getting rockstar status (not Coffeescript, etc.)
Real erlang concurrency + the features Elixir offers makes it unbeatable.
Of course, I admit, I'm still in the "honeymoon" period with the language, so this could be hormones talking.
Also, props to yrashk (HN handle) - part of why the elixir community rocks.