📜  Haskell-概述

📅  最后修改于: 2020-11-04 06:53:46             🧑  作者: Mango


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

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

与Haskell一起运作

Haskell是一种广泛使用的纯功能语言。在这里,我们列出了几点使该语言与其他常规编程语言(例如Java,C,C++,PHP等)相比如此特别。

  • 功能语言-在传统的编程语言中,我们指示编译器执行一系列任务,这些任务仅告诉计算机“该做什么”和“该怎么做”。但是在Haskell中,我们将告诉计算机“这是什么?”。

  • 懒惰-Haskell是一种懒惰的语言。懒惰的意思是,Haskell将无缘无故地评估任何表达式。当评估引擎发现需要评估表达式时,它会创建一个thunk数据结构以收集该特定评估所需的所有信息以及指向该thunk数据结构的指针。评估引擎仅在需要评估特定表达式时才开始工作。

  • 模块化-Haskell应用程序不过是一系列功能。可以说,Haskell应用程序是许多小型Haskell应用程序的集合。

  • 静态类型-在常规编程语言中,我们需要定义一系列变量及其类型。相反,Haskell是严格类型化的语言。用严格类型化语言一词来表示,Haskell编译器足够智能,可以弄清楚声明的变量的类型,因此我们无需明确提及所使用的变量的类型。

  • 可维护性-Haskell应用程序是模块化的,因此,维护它们非常容易且具有成本效益。

功能程序的并发性更高,它们在执行时遵循并行性,以提供更准确和更好的性能。 Haskell也不例外。它以有效处理多线程的方式开发。

你好,世界

这是一个简单的例子来说明Haskell的动态性。看一下下面的代码。我们只需要一行即可在控制台上打印“ Hello Word”。

main = putStrLn "Hello World"

Haskell编译器一旦遇到以上代码,便会立即产生以下输出-

Hello World 

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