[已注销]对《Land of LISP》的笔记(7)

Land of LISP
  • 书名: Land of LISP
  • 作者: Conrad Barski M.D.
  • 副标题: Learn to Program in Lisp, One Game at a Time!
  • 页数: 504
  • 出版社: No Starch Press
  • 出版年: October 2009 (est.)
  • 第10页
         The second trait that gives a language power is letting you *muck around*
    inside it as deeply as possible to make it do your bidding. That way, even if the
    designers of the language never conceived of what you’re trying to do, you
    can make your own changes to the language until it does exactly what you
    need to solve your problems elegantly.
    2012-09-22 18:06:36 回应
  • 第32页
    The actions that a program performs are the semantics of the program.
    2012-10-08 13:39:33 回应
  • 第39页
    记录
    cons函数的名称并非没有含意,它是单词'construct'的缩写
    car是短语'Contents of the Address part of the Register'
    cdr('could-er')是短语'Contents of the Decrement part of the Register'
    2012-10-08 13:59:50 回应
  • 第59页
    (if *file-modified*
    (if (ask-user-about-saving)
    (save-file)))
    can be beautifully shortcut to :
    (and *file-modified* (ask-user-about-saving) (save-file))
    2012-10-08 15:23:59 回应
  • 第76页
     (apply #'append '((mary had) (a) (little lamb)))
    apply looks like the varidic function in C(more powerful one)
    2012-10-08 19:02:10 回应
  • 第105页
    The ability to pass around functions as if they were just plain old pieces of data is incredibly valuable. Once you get used to doing this, you open up all kinds of conceptual possibilities in the design of your programs. Eventually, your programs will start looking very different from programs in more (dare I say) pedestrian languages, such as Java or C. The name for the style of pro- gramming that relies heavily on passing functions as values is called higher-order functional programming. We will look at this style in more detail in Chapter 14. An even more important reason why Lispers go gaga over lambda is that, as it turns out, in a purely mathematical sense, lambda is actually the only Lisp command there is! Recall that Lisp is unusual among programming languages in that it was derived directly from a mathematical concept called the lambda calculus. In short, the lambda calculus is a theoretical programming language that contains only one command: the lambda command. By having only this single command and using special code transformations, it’s possible to create a fully function- ing (though perhaps not practical) programming language. The take-home point is that the lambda special form is the most funda- mental command in a Lisp system, and the central concept from which other functions in Lisp derive. In fact, it is the central concept from which the very idea of Lisp itself originated. Now that you have a basic understanding of lambda, you’re ready to tackle some more complicated programming examples that would be hard to write without the anonymous functions this command permits.
    2012-10-21 15:47:45 回应
  • 第113页
    Because the *manipulation* and *visualization* of structures made of cons cells are central to the design of Lisp, these structures are extremely convenient to use and *debug*.
    2012-10-21 18:02:41 回应

[已注销]的其他笔记  · · · · · ·  ( 全部295条 )

The Design of Everyday Things
1
About Face 3
6
Engineering a Compiler
1
人有人的用处
8
Understanding the Linux Kernel
4
计算机程序设计艺术
1
公正
1
The Art of Doing Science and Engineering: Learning to Learn
1
科学革命的结构
7
罗素论教育
3
三十六大
1
娱乐至死
3
Real World Haskell
2
Writing Analytically
1
Is Parallel Programming Hard, And, If So, What Can You Do About It?
1
计算机与人脑
1
组合数学
2
菊与刀
1
Rework
5
翻译新究
4
计算机程序的构造和解释(原书第2版)
5
The Laws of Simplicity
4
计算机组成与设计硬件/软件接口
6
写给无神论者
2
放任自流的时光
3
哥德尔、艾舍尔、巴赫
2
树上的男爵
2
C++语言的设计与演化
1
C陷阱与缺陷
2
CUDA by Example
3
C++沉思录
1
世界尽头与冷酷仙境
4
Head First C
2
刀锋
1
并行编程模式
2
The Ph.D. Grind
2
计算机系统结构
2
禅与摩托车维修艺术
14
流浪的面包树
2
翻译研究
18
An Introduction to Programming in Emacs Lisp
1
GNU Emacs Lisp 编程入门
1
计算机系统概论
1
编码
3
拖延心理学
1
古今数学思想(一)
1
挪威的森林
9
奇特的一生
7
GPU高性能运算之CUDA
5
那些年,我们一起追的女孩
8
十八岁给我一个姑娘
2
C++编程思想(第1卷)
9
多核计算与程序设计
8
少有人走的路
5
忧伤的情欲
3
Hackers & Painters
7
哲学的慰藉
9
男人来自火星 女人来自金星
8
旅行的艺术
14
活着活着就老了
1
如何阅读一本书
7
Data-intensive Text Processing With Mapreduce
1
学习GNU Emacs
1
给研究生的学术建议
3
C专家编程
2
Spring揭秘
2
Head First Java(第二版·中文版)
1
自私的基因
1
C程序设计语言
2
计算机网络
3
自由在高处
2
大话设计模式
16
计算机网络
12