Haskell - 概述

Haskell是一种功能编程语言,专门用于处理符号计算和列表处理应用程序.功能编程基于数学函数.除了Haskell之外,一些遵循功能编程范例的其他流行语言包括:Lisp,Python,Erlang,Racket,F#,Clojure等.

常规编程,指令被视为特定语法或格式的一组声明,但在功能编程的情况下,所有计算都被视为单独数学函数的组合.

使用Haskell实现功能

Haskell是一种广泛使用的纯功能语言.在这里,我们列出了一些使这种语言比其他传统编程语言(如Java,C,C ++,PHP等)更特殊的要点.

  • 功能语言 : 在传统的编程语言中,我们指导编译器执行一系列任务,这些任务只是告诉您的计算机"做什么"和"怎么做?"但在Haskell,我们会告诉我们的电脑"它是什么?"

  • 懒惰 :  Haskell是一种懒惰的语言.通过 lazy ,我们的意思是Haskell不会毫无理由地评估任何表达式.当评估引擎发现需要评估表达式时,它会创建一个 thunk数据结构来收集该特定评估所需的所有信息以及指向该 thunk数据结构的指针.只有在需要评估特定表达式时,评估引擎才会开始工作.

  • 模块化 :  Haskell应用程序只是一系列功能.我们可以说Haskell应用程序是许多小型Haskell应用程序的集合.

  • 静态类型 : 在传统的编程语言中,我们需要定义一系列变量及其类型.相比之下,Haskell是一种严格类型的语言.通过术语Strictly Typed语言,我们的意思是Haskell编译器足够聪明,可以计算出声明的变量的类型,因此我们不需要明确提到所用变量的类型.

  • 可维护性 :  Haskell应用程序是模块化的,因此维护它们非常容易且经济有效.

功能程序更兼并并且它们遵循执行中的并行性可提供更准确和更好的性能.哈斯克尔也不例外;它是以有效处理多线程的方式开发的.

Hello World

这是一个简单的示例来演示哈斯克尔的活力.看看下面的代码.我们需要的只是在控制台上打印"Hello Word"的一行.

 
 main = putStrLn"Hello World"

一旦Haskell编译器遇到上面的代码,就会立即产生以下输出 :

 
 Hello World

我们将在本教程中提供大量示例,以展示Haskell的强大功能和简洁性