计算机程序的构造和解释//LISP概览

首先本课的提纲:

三大主题:

(1)黑盒抽象(black      box)

(2)约定接口(convertional interfaces)

(3)元语言抽象

LISP概览

黑盒抽象将一个过程封装起来,我们不需要知道盒子里面是怎么实现的,只需要输入然后得到输出就OK了,因此我们可以以此来建立更大的盒子。

面向对象的编程,是很多的对象通过消息串联在一起的,然后还有“流”“元语言抽象”需要我们查询理解,明天会补上 的,今天太晚了。

在对待一门新语言时,我们要稳3点:

1.基本元素 2. how to put it together(conbition) 3. 抽象的方法(如何将元素封装成盒子)

“+”是内建于LISP的基本对象

(+ 12 13 15)

上面 的称为一个组合式,“+”称为运算符 后面的数字称为运算对象, 这是前缀表示法,这种组合式和树的结构类似

lisp中抽象的方法:

(define  A  (*5 5 ))

A 代表后面的5*5

(define B (*A A))

B代表 A*A

返回定义的符号,也就是返回A,第二个返回B

(define (square x) (* x x))

这表示定义了一个过程了

(square 10) 是100

定义一个过程的最佳方式(我还没理解为什么是最佳的)

(define square (lambda(x)) (* x x))

这样同样定义了一个过程,这种方法是前面的那种方法的语法糖

由此我们可以想象“+”也是一个类似的过程,我们在实际用的时候其实并不知道,我们用的是内建的还是自建的。

(define (abs x )

     (cond(< x 0) ( -x)

              (> x 0) (x)

              (= x 0 ) (0)

     )

)

文章很垃圾 我是新手 大家指点一下 我也不会写笔记和文章,课程理解也不深,所以下次等我再次上课的时候,深入理解一定会修改的。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值