Tag Archives: 笔记

Common Lisp学习笔记(1):语法和语义

按:本文是我在阅读Peter Seibel所著的Common Lisp教程Practical Common Lisp(免费在线阅读地址:http://gigamonkeys.com/book/)的学习笔记。本篇主要依据于原书的第四章Syntax and Semantics,主要的内容也如其题目所描述,是Common Lisp的语法和语义。

之前已经在这个博客上发表过《Common Lisp学习笔记(0):从SLIME开始》,不过后来由于课业比较忙,虽然还是能抽出些时间继续阅读这本书,但是一直没来得及写一些后续的笔记。而在这期间,我发现竟然有一位名叫田春的程序员翻译了这本书,并且在今年10月出版,于是我也购买了这本书。既然前面阅读英文原版得到的东西在现在已经记得不太牢靠,我打算凭借这本中译本来帮助我回忆这些内容,形成这些笔记,同时我依然会拿英文原版做对照。

注意虽然Common Lisp是Lisp的一种方言,二者并不相等,不过为了方便起见下文中我不会对Common Lisp和Lisp做太多刻意区分,大多数情况下以Lisp代指Common Lisp。

目录

Continue reading

多情码农无情码注(1)

一个喜欢读小说的人很容易萌生写小说的想法。自小学拿着钢笔在笔记本上胡写,到大学拍打键盘在另一种笔记本上乱侃,期间我曾萌生过写小说冲动的 次数早已难以计数,然而真正动笔下的并不多,写完的几乎没有,而写完了如今自己觉得还能看的则是完全没有。那些故纸堆里的故事大约全是历史或者武侠,而最 近写小说的冲动再度出现以后,却忽然想写一点新鲜的东西。我构思过一个发生在交大的武侠故事,想到过一个关于程序员和2012的科幻故事,但是毕竟少经历 练,下笔总觉得生涩,结果也远无法使自己满意;直到后来忽然想到一个新方法,即借助古龙的小说《多情剑客无情剑》(即“小李飞刀”的故事)。

《多情码农无情码》借用了古龙的小说《多情剑客无情剑》里的人物,在一定程度上参考了他们的性格,但却把他们安插在了一个完全不同的时代——“飞刀 与快剑”变成了“鼠标与键盘”。然而,《多情码农无情码》的故事发生在《多情剑客无情剑》以前——这么说可能会让人困扰,因为明显古龙的故事里计算机还没 有被发明,不过我指的是关于李寻欢、林诗音、龙啸云三个人的情感纠葛发生在古龙的故事以前。选择这个故事是因为一方面它既是古龙讲述过的一个故事,同时又 没有讲得太细,这就意味着它给了我一个故事的框架,同时还留给我许多自由发挥的余地。

写这部小说显然无意出书之类的事情,可能更多的是个人兴趣,也希望能对自己还很拙劣的写作水平(虽然得过不少夸奖,但幸好我有时候很能找回一些自知之明)进行一些探索和锻炼。而这篇注,不妨说是让自娱自乐的high更high一点。

第一章注

这一章的第一段我试图给整个小说奠定一个世界观的基调——用理工科的思维来讲述一个故事。所以采用了维度这样一种世界观来起头。李寻欢、林诗音和林啸云都是程序员——或多或少,我希望在我在描写不同的人物视角时能写出不同的感觉。

第三段花了那么长的句子描述李家庄园里的各种高科技设备也是为了交待时代背景。

虞世南的介绍可以参看这里。我之所以在这篇注里也不怎么介绍他是因为其实我也不了解他,他是我写这一段的时候从书法家中胡乱揪出来的一个。

男性在看到美女后智商会下降的研究不是我编出来的,我原本阅读的那篇文章一时找不到了,但是这里有一篇似乎差不多文章可供参考。

对林诗音的描写花费了很大的篇幅,因为我想要营造出一种龙啸云在见到林诗音以后时间几乎停滞的感觉,就好像电影中在看到一个美女后镜头忽然放慢了一 样。因为如他所说他似乎所有的脑细胞都用来捕捉她的每一个动作每一个细节了。描写林诗音的几个简单动作的篇幅大约相当于前文的篇幅,这一安排其实照应了文 章最开头的龙啸云自己人生的轨迹(前二十多年可以一笔带过,此时此刻忽然具有其意义)。当然这些是我试图取得的效果,如果读者是通过阅读这一段产生的这种 体会(或者阅读完这一段还没产生这种体会),那么显然我并没有成功。另外对于林诗音的描写其实大量抄袭了曹植的《洛神赋》和曹雪芹的《警幻仙子赋》。

JavaScript不止可以用于写网页的一个典型例子便是GNOME3,这款自由软件的很多代码都是使用JavaScript写就的。你可以在这里查看详情。

Continue reading

Common Lisp学习笔记(0):从SLIME开始

按:本文是我在阅读Peter Seibel所著的Common Lisp教程Practical Common Lisp(免费在线阅读地址:http://gigamonkeys.com/book/)的学习笔记。这篇文章的主要内容包括Common Lisp的介绍以及如何搭建Common Lisp编程环境(SBCL + Emacs + SLIME)两部分。因为本文并不怎么涉及Common Lisp的具体知识,所以编号为0。

目录

Continue reading