Author: ctian Date: Wed Sep 12 00:06:16 2007 New Revision: 32
Added: books/onlisp/4-utility_functions.tex Modified: books/onlisp/3-functional_programming.tex books/onlisp/7-macros.tex books/onlisp/onlisp.tex Log: finish chap 3, start to chap 4
Modified: books/onlisp/3-functional_programming.tex ============================================================================== --- books/onlisp/3-functional_programming.tex (original) +++ books/onlisp/3-functional_programming.tex Wed Sep 12 00:06:16 2007 @@ -423,7 +423,26 @@ 在 Lisp 里, 墙可以得到更好的设计. 想象那种跟某人的距离远到有一分钟传输延迟的% 对话. 现在想象跟隔壁房间里某人说话. 你将不只是得到一个同样但是更快的对话, 而% 是将得到一个完全不同类型的对话. 在 Lisp 中, 开发软件就像是面对面交谈. 你可以% -边写代码边做测试. +边写代码边做测试. And instant turnaround has just as dramatic an effect on +development as it does on conversation. 你不只是把同一个程序写得更快, 而是写% +出不同类型的程序了. + +怎么会这样? 当测试更迅速时你就可以做得更频繁. 在 Lisp 中, 就像其他语言里那样, +开发过程是一个写代码和测试的周期过程. 但在 Lisp 里这一周期更短: 单个函数, 甚% +至函数的一部分都可以成为一个开发周期. 并且如果你边写代码边测试的话, 当错误发% +生时你就知道该查看哪里: 最后写的那部分就是. 正如听起来那样简单, 这一原则极大% +地增强了自底向上编程的可行性. 它带来了额外的置信度, 使得 Lisp 程序员从旧式的% +计划--实现的软件开发风格中至少部分地解脱出来. + +第 \ref{sec:design_by_evolution} 章强调了自底向上的设计是一个革命性的过程. +在那里, 你可以像写程序一样来构建一个语言. 这一方法只有当你 \textsl{信赖} +底层代码时才能正常工作. 如果你真的想把这一层作为语言来使用, 你就必须假设, +如同使用其他语言那样, 任何你遇到的 bug 都是你程序里的 bug 而不是语言本身的. + +这样你的新抽象就必须承担这一重大责任, 这样的话你还应该根据需求把它们分开吗? +就是这样; 在 Lisp 里你可以同时做到这两件事. 当你用函数式风格写程序并且增量测% +试它们的时候, 你可以得到即兴做事的灵活性, 加上通过只有仔细计划才能得到的可靠% +性.
%%% Local Variables: %%% coding: utf-8
Added: books/onlisp/4-utility_functions.tex ============================================================================== --- (empty file) +++ books/onlisp/4-utility_functions.tex Wed Sep 12 00:06:16 2007 @@ -0,0 +1,10 @@ +\chapter{实用函数} +\label{chap:utility_functions} + + + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: nil +%%% End:
Modified: books/onlisp/7-macros.tex ============================================================================== --- books/onlisp/7-macros.tex (original) +++ books/onlisp/7-macros.tex Wed Sep 12 00:06:16 2007 @@ -1,4 +1,4 @@ -\chapter{Macros} +\chapter{宏} \label{chap:macros}
\section{宏的依赖关系}
Modified: books/onlisp/onlisp.tex ============================================================================== --- books/onlisp/onlisp.tex (original) +++ books/onlisp/onlisp.tex Wed Sep 12 00:06:16 2007 @@ -31,6 +31,7 @@ \include{1-the_extensible_language} \include{2-functions} \include{3-functional_programming} +\include{4-utility_functions} \include{7-macros} \include{24-prolog}