18得票2回答
Can I save source files in Clisp?

我是一名初学者程序员,正在学习《Lisp之国》这本书。 我已经在REPL中输入了这本书的例子。现在,我想知道是否可以将当前的程序保存为.lisp文件,以便稍后加载并继续工作?我知道我可以在文本编辑器中创建.lisp文件并加载它们,但我喜欢使用全屏模式下的REPL来完成这些例子。

13得票4回答
Lisp中的“关联列表”和Java中的Map有什么关系?

我正在阅读《Lisp之国》(顺便说一下,这是我读过的最好的技术书籍之一),我遇到了“关联列表”:(defparameter *edges* '((living-room (garden west door) (attic upstairs ladder...

10得票2回答
通过像 monads 等方式消除显式状态传递

我正在使用F#完成Land of Lisp这本书的学习(是的,很奇怪)。在他们的第一个示例文本冒险游戏中,他们利用了全局变量的突变,而我想避免这种情况。我的Monad编程技能弱,所以现在我正在使用丑陋的状态传递方式:let pickUp player thing (objects: Map&l...

10得票2回答
Lisp之地示例中的冗余?

我已经阅读了很多关于Lisp之国的好评,因此我想看看它有什么值得一看的地方。 (defun tweak-text (lst caps lit) (when lst (let ((item (car lst)) (rest (cdr lst))) (cond...

10得票4回答
Lisp中递归函数调用导致堆栈溢出

我正在从Conrad Barski的书《Lisp之国》中学习Lisp。现在我遇到了第一个难题,作者说: 在Lisp中,这种自我调用不仅是被允许的,而且经常会受到强烈的鼓励。 在展示了以下计算列表项数目的示例函数后: (defun my-length (list) (if list...

9得票2回答
在Clojure中重写《Lisp之国》的巫师游戏

我正在试图重写《Lisp之地》中的巫师游戏 http://landoflisp.com/wizards_game.lisp 请注意,这是一段关于IT技术的文本,需要翻译成通俗易懂的中文。 (def *nodes* {:living-room "you are in the living-r...

9得票1回答
闭包的记忆化示例:来自《Lisp之国》

在《Lisp之国》的第329页,Conrad Barski通过以下示例代码解释了记忆化技术。 (let ((old-neighbors (symbol-function 'neighbors)) (previous (make-hash-table))) (defun nei...

8得票6回答
Lisp括号问题

这段代码来自于书籍《Lisp之国》。第一版是从书中摘录的。当我阅读它时,我认为在第二行的"at-loc-p"之前不需要括号"(",在第三行的loc之后也不需要")"。 (defun person-at (loc pers per-locs) (labels ((at-loc-p...