锁定老帖子 主题:scheme语言的可读性??
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-23
看到sicp的第2章,突然又想做做题了,一般我是有兴趣才做一下, Exercise 2.4. Here is an alternative procedural representation of pairs. For this representation, verify that (car (cons x y)) yields x for any objects x and y.
(define (cons x y) What is the corresponding definition of cdr? 挺容易得到正确答案的, (define (cdr z) 需要置换进去才知道是怎么回事,呵呵 以car为例 定义个 pair (define x (cons 12 34)) 当调用(car x) 的时候 置换进去,实际上就是 ( (lambda (m) (m 12 34)) (lambda (p q) p)) 继续,根据语法 (lambda (p q) p)就是前面 (lambda (m) (m 12 34))的参数了, 是参数就代入看看 函数体(m 12 34) 变为 ((lambda (p q) p) 12 34) 哈哈,12 34又变成(lambda (p q) p)的参数了, 结果 12就出来,绕口吧,^_^,无聊的时候做做题目挺开心的。 要是实际项目写这样的代码,有人读吗,
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-23
看看这篇文章。
http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/41c23db25ddcd899/5578f0f9ffff7839#5578f0f9ffff7839 |
|
返回顶楼 | |
发表时间:2007-05-24
莎翁的原著的可读性对于,普通中学生,过四级的大学生,过八级的英语本科生,英语文学专业的硕士生是完全不一样的.
|
|
返回顶楼 | |
发表时间:2007-05-24
接触一个新东西,特别是与现有东西差异大的,都会感觉不适应。不过习惯就好。
当初搞haskell,也是感觉不爽,后面感觉蛮好的。 |
|
返回顶楼 | |
发表时间:2007-05-24
zhangyu8374 写道 接触一个新东西,特别是与现有东西差异大的,都会感觉不适应。不过习惯就好。
当初搞haskell,也是感觉不爽,后面感觉蛮好的。 想问问后来用haskell写了实际程序吗?我在想它的适用范围,或者更擅长于做什么事情。 |
|
返回顶楼 | |
发表时间:2007-05-24
你可以看看这个blog.
http://www.kamang.net/ |
|
返回顶楼 | |
发表时间:2007-05-24
嗯,谢谢。学语言还是要和实际结合起来比较好。
顺便说一下,昨天看到一个OCaml Tutorial的wiki文档,作为入门学习好像不错的,在 http://www.ocaml-tutorial.org/ |
|
返回顶楼 | |
发表时间:2007-05-24
haskell要出一本新书了,讲很多实际应用的.
http://www.realworldhaskell.org/blog/ |
|
返回顶楼 | |
发表时间:2007-05-24
billgui 写道 嗯,谢谢。学语言还是要和实际结合起来比较好。
顺便说一下,昨天看到一个OCaml Tutorial的wiki文档,作为入门学习好像不错的,在 http://www.ocaml-tutorial.org/ 那个Tutorial的中文翻译正在展开中。http://ocaml.cn 上也有不少资料。 |
|
返回顶楼 | |
发表时间:2007-06-07
zhuyi8319 写道: 结果 12就出来,绕口吧,^_^,无聊的时候做做题目挺开心的。 要是实际项目写这样的代码,有人读吗,
无语。这是lambda演算的一部分。书上说了,list真的可以这样实现。 你看到后面,还有一个变态的"T变换",以及超变态的"丘奇计数",也是类似的东西。 |
|
返回顶楼 | |