《the little schemer》读书感悟

缘起

看这本书的缘由,说起来不好意思的。主要看scip看着头痛,看到第二章的时候,做里面的习题做着头疼脑热的,
看看能否对scheme语言有一个简要的介绍就在网上看到此书,有人评论此书可以做为scip的基础书,我读后感受
是最好在读完scip的第一章和第二章中关于list的概念之后就可以阅读了。毕竟这本书一上来就是各种
lambda表达式、以及scheme中内置的函数。尽管书的前言说,此书适合无任何编程经验的学习。觉得自己在校学习
果断和国外的差距很大。

The Little Schemer is based on lecture notes from two-week "quickie" introduction
to Scheme for Students with no previous programming experience.

概述

本来想花一周的时间将此书看完,不厚也就200多页。但是期间加班比较严重,后面自己玩游戏也比较多,导致拖到
上周日才看完。此书以对话的形式介绍schemer,书中主要是讲解程序中递归的概念。在书的前言就作者就直接说:

The goal of this book is to teach the reader to think recursively.

其对话形式如下:

简单示例

下面简单说明一下这本书各章节内容:

  • 第一章、第二章、第三章,简要介绍scheme中的基础函数比如,
    连接函数cons、求第一个值函数car、后续值函数cdr,以及判断一个元素是否为原子。

  • 第四章,数值计算,加减乘除等。

  • 第五章,主要将前面两章的函数进行推广,以*做通配符。

  • 第六章,以value函数的定义讲解求值的副作用。

  • 第七章,定义集合的概念以及集合之间的操作。

  • 第八章,将一些重复性的代码进行抽象,比如在第六章中的value函数的一个重构。

  • 第九章,看着头痛,特别是在构造length函数的过程。虽然看了两遍还没有理解透,后面还需要重新读一遍才行。
    此章主要以构建length函数来讲解图灵不动点问题和Y combinator。

  • 第十章,如何一步一步构造出一个简单的scheme编译器。

Scheme编程经验

作者在自问自答的方式中介绍5条原则和10条告诫。这些都是通过一个个实例进行论证说明的。这些经验性的概括十分简短,却十分有用。
下面看看1条原则和1条告诫吧。更多可以访问此地.

The Law of Car

The primitive car is defined only for non-empty lists.

The First Commandment

When recurring on a list of atoms, lat, ask two questions about it: (null? lat) and else.
When recurring on a number, n, ask two questions about it:(zero? n) and else;
When recurring on a list of S-expressions, l, ask three questions about it:(null? l),
(atom? (car l)), and else.

如何阅读此书

对于这本小书,如何阅读,作者在阅读者指导中已经说得很明确。其实,给出的建议也适合很多其他的读本,下面摘抄如下,分享给大家。:)

Do not rush through this book. Read carefully; valuable hints are scattered throughout the text.
Do not read the book is fewer than three setting. Read systematically.

相关的代码在我的github中the little scheme note 仓库下,
使用在线scheme编译器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,363评论 0 23
  • 很用心的组织了一次班级聚会,所有事情都亲力亲为。大学四年换了五位辅导员。好在我们班还是有凝聚力的。 最后的聚会很...
    易素简阅读 180评论 0 0
  • 很多事情,我们经历了,然后就会得到很多感悟,想通很多东西。 我们常常互相告慰,我们常常告诉自己,想通透了,心也就能...
    沐璎阅读 278评论 0 0
  • 简书上,简友又在说梦 梦醒了 虐自己的那个人已不在床上 还有一位仁兄说 人都有两副皮囊 令自己压抑的那副 呈现给世...
    妮妮小阿狸阅读 165评论 1 3