`

haskell程序设计语言

阅读更多
根据haskell官方定义,haskell是polymorphically(多态) statically typed静态类型), lazy(懒计算), purely functional language(纯函数程序设计语言).而函数程序设计语言都是以lambda calculus为理论基础的。事实上,现在越来越多的编程语言(如pythonrubyf#等)也加入了函数程序设计语言的特征。函数程序设计语言与其他的程序设计语言最大的不同在什么地方呢?函数程序设计语言最大的特点在于只需要告诉计算机做什么,然后即可得到结果。其他的程序设计语言则需要告诉计算机怎么做,然后才能得到结果。这也就是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
分享到:
评论

相关推荐

    无涯教程(LearnFk)-Haskell教程离线版.pdf

    无涯教程网(learnfk)整理提供:Haskell是一种标准化的,通用的纯函数编程语言,有非限定性语义和强静态类型

    haskell教材——中文版

    haskell语言教材 Haskell(发音为 /ˈhæskəl/)是一种纯函数式编程语言,它的命名源自美国数学家哈斯凯尔·加里,他在数学逻辑方面上的工作使得函数式编程语言有了广泛的基础。Haskell语言是1990年在编程语言...

    Programming_in_Haskell_2016_2ndE

    Haskell 函数式程序设计语言 经典教材 2016年第二版 Haskell is a purely functional language that allows programmers to rapidly develop software that is clear, concise and correct. This book is ...

    Haskell:一种现代纯函数式语言 (2007年)

    随着软件系统的规模越来越大,复杂程度越来越高,计算机学科领域正面临着一场软件复杂性 危机:如何妥善处理...Haskell是现代 的、标准的、惰性的、纯函数式程序设计语言,它具有表达力强的语法,以及丰富的内置数据类型。

    程序语言设计原理习题解答

    15.8 Haskell 649 15.9 Applications of Functional Languages 653 15.10 A Comparison of Functional and Imperative Languages 653 Summary • Bibliographic Notes • Review Questions • Problem Set • ...

    Haskell:这是CU的软件工程基础课的Haskel教程

    哈斯克尔 作者:Nicolas Broeking和Joshua Rahm 介绍 从功能上来说,编程是很...####第2章:Haskell简介 ####第3章:类型系统 ####第4章:进阶 ####结论 [下一页](./ presentation / FunctionalProgramming.md)

    cpl:Hagino 的分类程序设计语言 (CPL) 的解释器

    这个包是用 Haskell 编写的“A Categorical Programing Language”(简称 CPL)[1][2] 的实现。 CPL 是一种基于范畴论的函数式编程语言。 数据类型由附加项以分类方式声明。 可以处理的数据类型包括终端对象、初始...

    论文研究-函数式语言泛型特性的研究与实现.pdf

    对于泛型程序设计来说,类型的参数化多态是其理论框架,参数化多态引入了类型变量,使得类型参数化,支持类型上的抽象,从而可以大大提高软件的复用程度。泛型编程思想已经在多种语言中得到运用,并已取得了不小的...

    Hello_World:所有已知计算机语言的Hello World程序

    C | C计算机程序设计语言 CBL | COBOL计算机编程语言 CMD | 命令行 CPP | C ++程式语言 CS | C#编程语言 CXX | CXX(C ++)编程语言 DART | Dart程式语言 DGN | 龙编程语言 ERL | Earlang编程语言 F | F数值编程...

    munje:时间紧张的逻辑程序设计语言

    Munje 编程语言这是在大力发展。 但是,可以在上找到规范

    Y分钟学习X种语言

    世界上有很多有趣的编程语言,但下载它们、安装编程环境可能会是一件非常耗时的事情, 而你很可能只想试一下。...Pete Sestoft的《程序设计语言概念》对这个主题提供了很好的 介绍。 十分钟学习十种语言

    crak_chess:Haskell制造的简单国际象棋引擎

    使用的语言是“ Haskell”,就像原型设计方案一样。 版本0.0.13.8 采用的版本控制将是这样的: 如何设置? 设置摘要: 我们将使用“ ghc / ghci”编译器或“ Glascow Haskell编译器”。 因此,建议下载“ Haskell...

    函数式元编程语言的设计要素*) (2006年)

    从程序反射的角度分析元编程系统对程序设计语言在自我表示、自我分析和控制等方面的要求。以MetaML和Template Haskell为例论述在函数式语言中为了支持元编程需要扩展的机制,包括语法、语义、类型系统、安全的变量...

    Python练习集100题.rar

    Python是一种代表简单主义思想的语言。...有两个标准库(functools,itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。 Python练习集100题是整理了Python入门学习需要的练习题。

    零基础学python

    有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发项目例如Zope、Mnet...

    fp-course:功能程序设计课程

    功能程序设计课程 由Tony Morris和Mark Hibberd为Data61(以前称为NICTA)撰写 来自个人的贡献(谢谢!) 特别说明1 如果您是通过到达这里的,并且正在寻找答案(而非练习),请访问 特别说明2 自2017年2月起,此...

    python basic

    python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支 持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算 ...Haskell和Standard ML中久经考验的函数式程序设计工具

    论文研究-安全协议的测试与证明.pdf

    提出通过测试来证明安全协议的方法。以NS和NSL协议为例,首先将协议形式化为事件序列,协议的性质可以表示为序列上的性质。协议的完整运行可以系统地生成,因此,协议...形式化和测试在函数程序设计语言Haskell中完成。

    unpythonic:使用Lisp和Haskell的部分为您的Python增强

    Unpythonic:Python遇到Lisp和Haskell 本着的精神,我们提供了Python缺少的功能,主要是从列表处理传统中来的,但其中混入了一些Haskellism。我们用一组扩展该语言。 我们还提供了一个正在进行中的后台服务器,用于...

Global site tag (gtag.js) - Google Analytics