初识common lisp

学习任何语言都需要一个编译器,common lisp 也不例外,编写common lisp的常用工具是emacs + slime +(任意一种CL实现,常用的有SBCL,cmucl)作为初学这的我们为了方便我直接使用的lispbox,lispbox实际是是emacs+slime+ccl极大的方便了我们这些初学者,大家可以到这里下载http://common-lisp.net/project/lispbox/

下面我们进入正题:

进入lispbox以后我们可以看到cl-user> 提示我们输入,common lisp 是一种既可以解释运行也可以编译运行的语言,任何lisp系统都有一个可以交互的前端,叫做顶层(toplevel),我们可以在顶层输入common lisp 的表达式,系统则可以给出表达式的值。

common lisp最简单的表达式是

>3
3
>1
1
系统会依次求值并打出提示符提示你的再次输入。

>(+ 1 1)
2
>(+ 2 3)
5

像这种将操作符放在表达式前面的式子叫做S-表达式,这种表达式让我们不再受运算符的优先级的折磨了,可是也有人对于这种含有大量括号的表达式表示反感。有一笑话说苏联的特工偷了美国导弹发射代码的最后一页,他们就向上级报告说:长官我知道他们是用lisp写的代码。长官说为什么啊,他说因为最后一页都是括号。(这个知道用什么语言写的对他们有什么帮助一直没搞懂啊??)

>(+ 1 2 3 4)
10
>(+ 1 2 3)
6
>(+ 1 2)
3
像这样在common lisp中有时候直接增加实参即可。

同样common lisp的表达式也可以嵌套,例如

>(* (+ 1 3) (- 4 2)
8
>(/ (* 2 6) 3)
4
在common lisp中所有的结构大部分都是由S-表达式和列表表达的,没有复杂的结构(括号算吗),函数式编程,元编程。

文中有不对的地方还请大家指正。(十点多了,马上要断网了,所以先就这样吧(^_^))。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值