有很多关于Haskell的宣传,然而,很难获得关于它如何在现实应用程序中使用的信息。Haskell最流行的项目/用法是什么?为什么它能出色地解决这些问题?


当前回答

从Haskell:

Haskell是一个标准化的、通用的纯函数 编程语言,包括 语义不严格,静态强 打字。它以逻辑学家的名字命名 Haskell咖喱。

基本上,Haskell可以用来创建几乎任何你通常使用其他通用语言(例如c#, Java, C, c++等)创建的东西。

其他回答

从Haskell:

Haskell是一个标准化的、通用的纯函数 编程语言,包括 语义不严格,静态强 打字。它以逻辑学家的名字命名 Haskell咖喱。

基本上,Haskell可以用来创建几乎任何你通常使用其他通用语言(例如c#, Java, C, c++等)创建的东西。

例如,用于开发交互式、实时的HTML5 web应用程序。参见Elm,它的编译器是用Haskell实现的,其语法大量借鉴了Haskell的语法。

Haskell是一种通用编程语言。它可以用于任何你使用其他语言做的事情。除了你自己的想象力,你不受任何东西的限制。至于它适合做什么呢?嗯,几乎所有的事情。几乎没有什么任务是函数式语言不擅长的。

没错,我是Dreamincode的Rayne。:)

我还想提一下,如果你还没有阅读维基百科页面,函数式编程是一种范式,就像面向对象编程是一种范式一样。以防你不知道。Haskell在某种意义上也是功能性的;它在这方面做得很好。

仅仅因为一种语言不是面向对象的语言并不意味着该语言受到任何东西的限制。Haskell是一种通用编程语言,和Java一样通用。

Haskell的一个例子是xmonad,一个“用不到1200行代码的功能强大的窗口管理器”。

我有一个很酷的,facebook创建了一个自动重写PHP代码的工具。他们把源代码解析成一个抽象的语法树,做一些转换:

if ($f == false) -> if (false == $f)

我不知道为什么,但这似乎是他们的特殊风格,然后他们漂亮地印刷它。

https://github.com/facebook/lex-pass

我们使用haskell来创建小型的领域特定语言。大量的数据处理。Web开发。网络蜘蛛。测试应用程序。编写系统管理脚本。后端脚本,用于与其他方通信。监视脚本(我们有一个DSL,它可以很好地与munin一起工作,使它更容易为应用程序编写正确的监视代码)。

实际上是各种各样的东西。它只是一种日常通用语言,具有一些非常强大和有用的特性,如果你有点数学倾向的话。