根据
haskell的
官方定义,haskell是polymorphically(多态) statically typed静态类型), lazy(懒计算), purely functional language(纯函数程序设计语言).而函数程序设计语言都是以
lambda calculus为理论基础的。事实上,现在越来越多的编程语言(如
python,
ruby,
f#等)也加入了函数程序设计语言的特征。函数程序设计语言与其他的程序设计语言最大的不同在什么地方呢?函数程序设计语言最大的特点在于只需要告诉计算机做什么,然后即可得到结果。其他的程序设计语言则需要告诉计算机怎么做,然后才能得到结果。这也就是what to do 和how to do的区别。换句话说,函数程序设计语言编程需要更多的时间来考虑设计,如果设计考虑完善,那么代码编写应该是很容易直观的。个人感觉不同的程序设计语言都有自己不同的适合领域,就像c语言适合于系统编程,haskell应该更适用于数学方面的应用(其理论基础是lambda calcus,与图灵机是完全等价的),比如计算机数学方面的教学或者解决一些数学问题。当然,haskell还能做到更多(跟其他很多编程语言如
perl,
python,
tcl,
ruby一样几乎可以用来完成所需要的任何功能,但不一定是最适合的)从网络到系统编程、图像设计等等都完全可以实现,但我对haskell的了解还很肤浅,只能介绍一些基本的知识。
haskell语言的程序代码非常紧凑,通常其代码量仅仅是c/c++等语言的几分之一,这能很好的减小项目管理上的负担。比如我想找出从1到1000之间所有能被同时被3,5,7整除的数,那么一行代码就解决了:
[x|x<-[1..1000],x `mod` 3 == 0, x `mod` 5 == 0, x `mod` 7 == 0]
如果对haskell感兴趣,可以到
tryhaskell尝试一些简单的编程,直接在网页中输入代码即可。
haskell相关书籍:
learn you a haskell
real world haskell
实用手册:
haskell cheatsheet
haskell 98 languages and librarys report
更多内容见
haskell wiki
分享到:
相关推荐
根据提供的信息,《程序设计语言——实践之路》这本书主要聚焦于程序设计语言的工作原理和技术细节。虽然部分内容并未给出具体章节或段落,但从标题和描述中我们可以推断出本书旨在为读者提供深入理解程序设计语言的...
《程序设计语言理论讲稿(陈意云)》是一份深度探讨编程语言核心概念与原理的教育资源,由知名专家陈意云编著。这份讲稿旨在帮助读者深入理解程序设计语言的本质,提升编程技能和软件开发能力。通过学习这份资料,我们...
Haskell是一种标准化的通用纯函数式编程语言,它的设计基于数学原理,特别是λ演算。作为一门纯粹的函数式编程语言,Haskell强调函数是一等公民("函数是第一类对象"),其中主要的控制结构是函数。Haskell语言的...
计算机程序设计语言的发展历程是计算机科学史上的一个重要篇章,它伴随着计算机技术的演进而逐步进化。自20世纪40年代计算机诞生以来,程序设计语言已经经历了四个主要阶段:机器语言、汇编语言、高级语言以及现代...
【计算机程序设计语言发展史】 计算机程序设计语言的演变始于早期的机器语言,这是一种直接对应于计算机硬件指令的低级语言。随着计算机技术的发展,为了提高编程效率和可读性,人们发明了汇编语言,它以助记符代替...
### 计算机程序设计语言的发展趋势与终极思考 #### 核心观点解析 本文探讨了一个有趣且富有挑战性的议题——计算机程序设计语言的发展趋势及其可能达到的终点,并提出一个引人深思的观点:面向对象编程可能是程序...
4. **程序设计语言的范型**:主要分为命令式(如C)、面向对象(如Java)、函数式(如Haskell)和逻辑型(如Prolog)四种范型,每种都有其独特的编程思想和应用场景。 5. **语言虚拟机**:如Java虚拟机(JVM),它...
Haskell是一种纯函数式编程语言,它以其静态类型系统、惰性求值和强类型检查而闻名。在学习Haskell的过程中,掌握函数编程的基本概念以及Haskell的特性至关重要。以下是对压缩包内各文件内容的详细解读: 1. **2....
程序设计语言是计算机科学中的核心概念,它是人与机器沟通的桥梁,用于编写指令让计算机执行特定任务。在第 2 章“程序设计语言”中,我们将会深入探讨这个主题,涵盖其基本概念、分类、结构以及编程范式。 一、...
另外,Haskell的Monads是其最具特色的设计之一,Monads是一种抽象的概念,用于管理副作用。常见的Monad包括`IO` Monad用于处理输入/输出,`State` Monad用于管理状态,`Maybe` 和 `Either` 也可以视为特殊的Monad...
总结而言,Haskell 2010语言报告是Haskell社区的宝贵资源,它不仅为程序员提供了学习和使用Haskell的指南,同时也为语言的研究者提供了深入研究Haskell语言设计的材料。Haskell作为一种功能强大的语言,其规范文档...
尽管目前在国内使用Haskell作为程序设计入门语言的高校相对较少,但是利用翻转课堂模式改进Haskell教学,无疑为提高学生完成率提供了一条可行路径。 #### 三、教学过程与内容设计的具体实施 ##### 3.1 教学过程...
### 程序设计语言的层次体系 #### 一、引言 程序设计语言作为连接人类思维与计算机硬件之间的桥梁,其发展历程和技术演进对于现代信息技术的发展至关重要。根据与计算机硬件的距离,程序设计语言大致可以分为两大...
### 函数程序设计语言的历史背景 函数程序设计语言的发展经历了几个关键的时期。早期的编程语言如C、Java、Ada和Pascal是命令式(imperative)语言,它们强调的是如何进行计算,即一系列命令的执行顺序。而函数式...
Haskell是一门历史悠久且功能强大的编程语言,它的设计理念深受函数式编程的影响,有着独特的...这些知识点是Haskell程序设计的核心,并且对于理解现代编程语言的发展趋势,以及掌握更高效的编程方法都有很大的帮助。
程序设计语言的层次体系是计算机科学中的一个重要概念,它展示了从低级到高级的不同编程语言类型,以及它们各自的特点和用途。在这个体系中,语言主要分为两类:低级语言和高级语言。 低级语言包括机器语言和汇编...
程序设计语言是人类与计算机交流的桥梁,它们的层次体系为理解编程提供了基础框架。根据描述,我们可以将程序设计语言分为低级语言和高级语言两大类。这两种语言的主要区别在于程序员与计算机之间的交互复杂度。 ...