Functional programming 新函数语言

Functional programming 新函数语言,functional-programming,Functional Programming,函数式编程至少从1958年(Lisp的创建)就开始了,但现在正在经历一次复兴,旧的函数式语言正在被清除,新的函数式语言正在被创建 哪些函数式语言是新开发的或正在开发中的 我意识到,您可以用大多数高级语言编写纯函数式程序,因此对于函数式语言,我指的是专门为函数式编程设计的语言,例如F# 如果您有教程、Wiki或代码示例的链接,我鼓励您将它们添加到您的答案中 以下是我到目前为止测试过的一个简短列表(除了你已经提到的F#): (静态输入,纯)-注意免费电子书,以及你需要知道的一切 (动态键入,非纯)

函数式编程至少从1958年(Lisp的创建)就开始了,但现在正在经历一次复兴,旧的函数式语言正在被清除,新的函数式语言正在被创建

哪些函数式语言是新开发的或正在开发中的

我意识到,您可以用大多数高级语言编写纯函数式程序,因此对于函数式语言,我指的是专门为函数式编程设计的语言,例如F#


如果您有教程、Wiki或代码示例的链接,我鼓励您将它们添加到您的答案中

以下是我到目前为止测试过的一个简短列表(除了你已经提到的F#):

  • (静态输入,纯)-注意免费电子书,以及你需要知道的一切
  • (动态键入,非纯)
  • (静态类型,非纯)-与Java的完全(双向)互操作
  • -易于处理并发性
  • 我想加入到混合物中。我被它吸引是因为它非常注重性能。如果我理解正确的话,F#是从OCaml派生的


    但是它不仅仅是函数式的,它也非常适合于命令式编程。

    Erlang、OCaml、Haskell、Scheme和特定于领域的编程语言,如R(统计学)、Mathematica(符号数学)、J和K(金融分析)以及XSLT(XML)

    Haskell已经出现了一段时间,还有很多基本的东西(足以编写可靠的生产应用程序)这真的是一件美妙的事情:作为一名商业程序员,我可以很好地完成我的工作,但我有能力深入研究一些在其他语言中不可用的更有趣的概念和技术,而不必转换成方言,在那里我无法部署我的日常工作代码


    当用Haskell编程时,能近距离地看到你能触摸到的未来是一件很有趣的事情。

    我很高兴像ML(Caml)、Haskell和Erlang这样的古老作品被冒充为“新的”。Scala是真正的新事物,而F#是将旧语言ML改编成.NET框架的尝试,肯定会很有趣


    如果你想要真正的新东西,那就是“新哈斯克尔”.Agda融合了从20年前的语言(如Haskell)和30年前的语言(如ML)中学到的许多经验教训,并以最新的类型系统工作推动了这一进程。保证让你的头脑爆炸或双倍返还你的钱!

    好吧,如果你真的想要新的,试试Babel-17。唯一的问题是:没有实现it:-)但是有一个规范。请检查。

    函数式编程现在已经被主流采用,所以以前只用于学术的驱动现在已经分为学术和工业实现

    F#是开发中工业函数语言的一个引人注目的例子(是John Conway用32行F#编写的GUI游戏的一个例子,是我关于F#的书)。其他包括Rich Hickey和我自己


    最近学术界备受关注的函数式语言是ATSLang和Scala。

    一种新的函数式语言,主要关注元编程:


    例如:

    是一种功能性的静态类型语言,对.NET具有广泛的元编程支持。与F#一样,它的灵感来自于ML,但它的语法与C#非常相似,因此更具可读性。Nemerle中的类型推断功能甚至比ML更强大,允许它在存在重载的情况下根据使用情况推断类型。

    我认为维基百科的帮助:您发现哪一个更容易开始和理解(不会在复杂性中迷失方向)?我的意思是,哪种语言让你觉得学习困难的概念很容易?所以Erlang(自1986年以来)和Haskell(自1990年以来)仍然被认为是“新开发的”;)@沙卡尔佩什:F#相当容易学。Scala很简单,但不是那么直观,也不是那么创新,我从来没有真正喜欢过Newspeak,所以我很快就退出了。Erlang非常强大,但我没有很好地处理它的语法,我觉得它不容易。Haskell有很好的语法,非常直观,但如果您习惯于使用命令式语言编程,那么它的纯语法可能需要一些时间。不过,一旦你习惯了,就很酷了。如果简单的开始包括获取工具等等,无论如何,F#是无与伦比的:简单的语言,伟大的工具@jitter:也许不是新开发的,但肯定是在makingClojure是为多核并发而设计的,Erlang是分布式计算的最佳选择。“在Haskell编程时,看到如此近的未来,你可以触摸到它,这很有意思。”这让我笑了,感觉很好,给了我一个很好的开始。非常好地描述了Haskell,与OCaml相比,我特别有同感。哈斯克尔觉得把工作做完会好些。斯卡拉已经6岁了。出于好奇,问:为什么哈斯克尔不是新的哈斯克尔?我认为设计Haskell的目标之一是让它成为新函数编程研究的“游乐场”。。。这是真的吗?它失败了吗?我认为Haskell还有很多年的路要走,还有一些有趣的新想法,比如类型族和数据并行Haskell。但是现在Haskell已经成为主流,拥有书籍和一切,所以它不再是“下一个新事物”。对于Scala来说,它不仅仅是岁月,而是岁月与新思想的结合。