You can use many of the functional programming constructs like piping, (pretty limited) pattern matching, function composition, etc. with livescript [1]. Its translated js code is as readable as one coffeescript produces.<p>Or, if you really like elixir and don&#x27;t mind its alpha status, you can look into elixirscript [2]. He gave a talk [3] in the conf.<p>Elm [4] is another alternative, but it wants to not just replace js, but html as well, with its very unique and useful &quot;time travel&quot; feature.
Alan gave a talk in usage with Phoenix [5].<p>[1] <a href="http:&#x2F;&#x2F;livescript.net" rel="nofollow">http:&#x2F;&#x2F;livescript.net</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;bryanjos&#x2F;elixirscript&#x2F;blob&#x2F;master&#x2F;FAQ.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bryanjos&#x2F;elixirscript&#x2F;blob&#x2F;master&#x2F;FAQ.md</a><p>[3] <a href="http:&#x2F;&#x2F;confreaks.tv&#x2F;videos&#x2F;elixirconf2015-elixir-in-the-browser" rel="nofollow">http:&#x2F;&#x2F;confreaks.tv&#x2F;videos&#x2F;elixirconf2015-elixir-in-the-brow...</a><p>[4] <a href="http:&#x2F;&#x2F;elm-lang.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;elm-lang.org&#x2F;</a><p>[5] <a href="http:&#x2F;&#x2F;confreaks.tv&#x2F;videos&#x2F;elixirconf2015-phoenix-with-elm" rel="nofollow">http:&#x2F;&#x2F;confreaks.tv&#x2F;videos&#x2F;elixirconf2015-phoenix-with-elm</a>