Scheme与Haskell
来源:互联网 发布:linux卸载mysql数据库 编辑:程序博客网 时间:2024/06/05 21:03
Scheme语言
Scheme语言是Lisp语言(学习人工智能的人一定对Lisp相当熟悉)的一种发展,或者说是Lisp语言的一种方言,最早是由著名的MIT人工智能实验室于1975年设计开发的一门程序语言。Scheme语言之所以不象Java Pascal C++等语言那么出名主要是因为Scheme语言基本上只是在纯学术领域运用,几乎没有商业运用。在国内Scheme语言更是显为人知,但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。
Scheme是一门非常简洁的计算语言,使用它的编程人员可以摆脱语言本身的复杂性,把注意力集中到更重要的问题上,从而使语言真正成为解决问题的工具。相对于 Common LISP 或其他方言, Scheme更强调理论的完整和优美, 而不那么强调实用价值,但对我们学习计算机科学很有帮助。
Scheme语言参考资料
Scheme 语言概要(上)
http://www-128.ibm.com/developerworks/cn/linux/l-schm/index1.html
Scheme 语言概要(下)
http://www-128.ibm.com/developerworks/cn/linux/l-schm/index2.html
Scheme语言好书推荐
在多数Scheme 的书中,Scheme语言本身并不是重点,作者的意图是指引读者发现计算机科学中的奇妙之处。
最出名的两本是《Structure and Interpretation of Computer Programs》(《计算机程序的结构与解释》)与 《How to design programs》(《程序设计方法》)
SICP 用 Scheme 来指引学生学习计算机科学中的基本概念,是MIT6.001课程——内容十分广泛。
HTDP 用Scheme 来介绍程序设计中常用的技巧和方法,用DrScheme的——国外很多大学、高中用它。
Scheme语言编程环境
Scheme语言实现的版本很多,如Guile,GNU/MIT-Scheme,SCI,Scheme48,DrScheme等,它们大多是开源的,可以自由下载安装使用,并且跨平台的实现也很多。有一个很好的Scheme语言集成编程环境,就是DrScheme。DrScheme是建立在 MrEd 之上一个集成化的开发环境,包括很方便的编辑,运行,调试,帮助环境。DrScheme 支持很多操作系统,包括Microsoft Windows,是少数能在 Windows 系统运行的 Scheme 解释器之一。其官方主页是http://www.drscheme.org.
Haskell语言
Haskell是一种纯函数式编程语言,它的命名源自美国数学家Haskell Brooks Curry,他在数学逻辑方面的工作使得函数式编程语言有了广泛的基础。Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以Lambda-Calculus(兰姆达演算)为基础发展而来.这也是Haskell语言以希腊字母Lambda作为自己的标志的原因.Haskell语言的最重要的两个应用是Glasgow Haskell Compiler(GHC)和Hugs(一个Haskell语言的编译器).特式是利用很简单的叙述就可以完成 Linked List、矩阵等数据结构。
在80年代末已经出现了一些函数式编程语言,它们各有优缺点.为了使它们在科研上有一种统一的研究和发展的基础,应该有一种标准化的全新的语言使函数式编程语言在此基础上实现统一。接下来有人想以Miranda作为此项工作的出发点(而Miranda的开发者却对此项工作并不感兴趣)。就在这种背景下Haskell 1.0于1990年被公布。 这种语言的最新版本是在原来版本的基础上经过修改的变体(Haskell-98-Standard 于1999年)。Haskell是如今最广泛被用于研究的一种函数语言。现在以Haskell为基础的语言衍生物有很多,它们分别是:并行Haskell,扩充Haskell(旧名Goffin), Eager Haskell, Eden, DNA-Hakell 和面向对象的变体(Haskell++, O'Haskell, Mondrian)。另外Haskell还被作为在新语言设计时的样板,例如Python中的Lambda标记语句。有人说学习编程入门需要从这两种语言入门,感到很新鲜。就把他们的介绍贴一下。。。。。。。。。。。
- Scheme与Haskell
- Haskell与范畴论
- Haskell 与 Functor
- Haskell 与 Applicative Functor
- Haskell 与 Monoid
- http URI scheme与data URI scheme
- Haskell之命题与重载
- Haskell
- Haskell
- 与Scheme共舞
- 与Scheme共舞
- 与Scheme共舞
- haskell学习笔记(5)-函数与递归
- scheme
- Scheme
- Scheme
- Scheme
- Scheme
- Read/Write SD Files on Android
- 关于java.io.IOException: Cannot run program "unzip":
- 二维数组作为参数传递问题
- oracle shared pool
- _variant_t(IDispatch* pSrc, bool fAddRef) 使用一个COM组件的指针构造一个_variant_t类型的对象
- Scheme与Haskell
- Android NDK开发初步
- 端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT
- java笔试题
- 黑马程序员 -- 多线程
- Android震动系统结构 移植与调试的要点
- 英特尔Mooly Eden:力压Jeff Bezos的《财富》科技创想家
- NSAutoReleasePool使用中drain和release的区别
- hdu 1557 权利指数