SICP之第一章_1.5

LANG:Scheme

IDE:DrScheme

接触Scheme始于维基,尽管当时被这门语言的特性深深折服,但始终缺乏动力去了解它。直到最近对VC++的严重失望,让我重新燃起对Scheme的小小火花。当然,必备书目是SICP。

————————————————————————————————————————————————————————

1.5

(define (p) (p))

(define (test x y)
(if (= x 0)
0
y))

(test 0 p)

 

(p)始终返回其自身,因此若(p)运行,解释器将停止响应。

当解释器采用正则序求值时,(test 0 p)转换为(if (= 0 0) 0 (p)),其中(p)没有被执行。

而当解释器采用应用序求值时,(test 0 p)无法判断(p)不执行,从而陷入无限循环。

最终结果证实:DrScheme采用应用序求值!(网上版本:所有Scheme解释器都采用应用序求值)

转载于:https://www.cnblogs.com/codingpenguin/archive/2012/10/10/2718580.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值