是否有一种语言可以转化为JavaScript(如TypeScript,CoffeScript等)并且几乎是纯粹的功能(如Haskell,Erlang,F#)?
我知道有些库有助于维护不变性(Underscore),ES6中有很多很酷的数组函数和lambdas。但是我正在寻找的是类似于语法和转换器的功能,所以我可以用很少的努力编写功能性的JavaScript。
答案 0 :(得分:8)
其他语言包括ClojureScript(Clojure)和Funscript(F#)
其中,我只使用过Scala.js和Elm,在我看来这两种方法都非常好用。
在Elm和PureScript中,默认情况下会使用curry函数。 在Scala中,使用多个参数列表可以非常轻松地完成Currying:
> str = "Test &&Product &Order &number";
> str.split(/&(?!&)/);
> ["Test &", "Product ", "Order ", "number"]
答案 1 :(得分:1)
如果您希望继续使用.NET平台,并希望使用F#作为您的语言来转换为JavaScript,那么我建议您查看以下内容:
1。)Fable - Fable汇集了F#编译器和Babel的强大功能,使JavaScript成为F#的真正后端。它直接在F#源代码上工作,无需编译。
2。)WebSharper - 一个根本不同的Web框架 用于开发功能和反应式.NET应用程序
答案 2 :(得分:0)
如果您喜欢F#,则可以通过js_of_ocaml(更好的OCaml兼容性)或BuckleScript(更好的JS互操作)甚至Reason ML(更现代的语法,包括{{3} }。
如果您更喜欢Haskell,则可以使用JSX(针对Hass的Haskell),GHCJS(严格的评估意味着更简单的JS)或Purescript(仍然需要类型类的人) )。
我不太了解Erlang。似乎已经有一些针对JS的尝试(可能有些成功),但是我对它们都不熟悉。