有很多关于Haskell的宣传,然而,很难获得关于它如何在现实应用程序中使用的信息。Haskell最流行的项目/用法是什么?为什么它能出色地解决这些问题?
当前回答
来自Haskell Wiki:
Haskell有多种用途 商业上,从航空航天和 国防,金融,网络创业, 硬件设计公司和割草机 制造商。本页收集 资源在工业上的利用 Haskell。
根据维基百科的说法,Haskell语言的创建是为了将现有的函数式语言整合为一种通用的语言,以供将来在函数式语言设计方面的研究使用。
根据现有的信息,很明显,它已经超出了它最初的目的,被用于远远超过研究。它现在被认为是一种通用函数式编程语言。
如果你还在问自己:“我为什么要用它?”,那就读读《为什么要用它?》Haskell Wiki简介的一部分。
其他回答
对于像Haskell这样的通用语言的优点,有一个很好的答案:编写一般的程序。
对于它在实践中的用途,我有三种方法来建立它:
Haskell库和应用程序区域的标记云,根据Hackage上的频率加权。
表明它适用于图形、网络、系统编程、数据结构、数据库、开发、文本处理……
它在工业领域的应用——很多dsl, web应用程序,编译器设计,网络,分析,系统编程,…
最后,我认为它真正的强项是:
正确性很重要的问题,领域特定的语言,并行和并发编程
我希望这能让你知道你的问题有多宽泛,如果要具体回答的话。
我有一个很酷的,facebook创建了一个自动重写PHP代码的工具。他们把源代码解析成一个抽象的语法树,做一些转换:
if ($f == false) -> if (false == $f)
我不知道为什么,但这似乎是他们的特殊风格,然后他们漂亮地印刷它。
https://github.com/facebook/lex-pass
我们使用haskell来创建小型的领域特定语言。大量的数据处理。Web开发。网络蜘蛛。测试应用程序。编写系统管理脚本。后端脚本,用于与其他方通信。监视脚本(我们有一个DSL,它可以很好地与munin一起工作,使它更容易为应用程序编写正确的监视代码)。
实际上是各种各样的东西。它只是一种日常通用语言,具有一些非常强大和有用的特性,如果你有点数学倾向的话。
从Haskell:
Haskell是一个标准化的、通用的纯函数 编程语言,包括 语义不严格,静态强 打字。它以逻辑学家的名字命名 Haskell咖喱。
基本上,Haskell可以用来创建几乎任何你通常使用其他通用语言(例如c#, Java, C, c++等)创建的东西。
我认为,对于从未使用过函数式编程语言的人来说,这篇文章中的人忽略了最重要的一点:扩展你的思维。如果你是函数式编程的新手,那么Haskell会让你以以前从未想过的方式思考。因此,您在其他领域和其他语言的编程将得到改进。多少钱?很难量化。
例如,用于开发交互式、实时的HTML5 web应用程序。参见Elm,它的编译器是用Haskell实现的,其语法大量借鉴了Haskell的语法。
推荐文章
- 流行语言的语言书籍/教程
- 面向对象编程,函数式编程,过程式编程
- 获取与模板Haskell关联的类型同义词
- Haskell:列表,数组,向量,序列
- 按返回类型重载函数?
- 推挽型FRP和箭头型FRP有什么本质区别?
- 为什么不可变性在JavaScript中如此重要(或需要)?
- Template Haskell有什么不好的?
- 如何使用underscore.js作为模板引擎?
- Scala中的“提升”是什么?
- Javascript相当于Python的zip函数
- 感叹号在Haskell声明中是什么意思?
- 使用array_map()访问第一级键,而不调用' array_keys() '
- functools partial是怎么做的呢?
- 过程式编程和函数式编程的区别是什么?