scheme初探-part 1

来源:互联网 发布:json xml 比较优缺点 编辑:程序博客网 时间:2024/06/04 17:57

最近在看sicp这本书,书里面选用的语言是函数式编程语言lisp的一个方言,scheme。

scheme的特点百度了下,大概如下:

  • 括号嵌套
    – Lisp 程序中充满了一对对嵌套的小括号,这些嵌套的符号体现了最基本的数学思想——递归。
    语法简洁
  • Scheme语言的规范很短,总共只有50页。
  • 函数编程语言
    – 一个函数(Function)是这个编程语言中所谓的第一等的公民。也就是说函式可以像一个 int 或者 float 一样被很方便的传递来传递去。这也就是所谓“Functional编程语言”中,Functional 一词的由来。
    自动内存管理
  • 支持尾递归
  • 提高了递归效率
    – 支持高级控制结构continuation
  • 可移植性好
  • Scheme开发的程序有很好的可移植性,这是由于Scheme在不同的计算机平台有相应的解释器和编译器。
    适合作为脚本语言和嵌入语言

  • 由于scheme语法简洁,一个Scheme解释器可以非常的小巧。Scheme可以作为脚本语言而内嵌于一些工具之中。
    关键字对大小写不敏感

搭建学习环境,需要到gnu 网站上面进行下载相关软件。

这里我选用的是Windows下的安装包。

安装完成之后的界面如下:

这是一个类emacs的简易的scheme环境,emacs的操作快捷键都可使用。
关于emacs的学习,可以参考教程

首先是学习define的使用。(lisp的其他方言可能不是define这个关键字)

(define a 1)

使用 c-x c-e (c代表ctrl键)执行上面的定义语句。

执行结果如下:

;Value: a

输入 a 执行,
结果为

;Value: 1

上面的a是一个atom(原子),scheme有两个积木块,一种是atom,一种是list,剩下的就是一些方式连接积木块。

具体的一些其他命令可以参考链接

后续会根据sicp上面的练习进行更新scheme系列文章。

0 0
原创粉丝点击