首先,这门语言有两个主要的方言 (Common Lisp 和 Scheme),并且每个方言都有许多个体实现。例如,Chicken Scheme、Bigloo 等,它们之间存在些许差异。 从现代的角度来看,这是很奇怪的,因为现今的语言通常具有明确的实现/规范。想想 Java、C#、Python...
最近我开始对Lisp和Lispy语言产生更多兴趣,并且发现它们相当强大。 网络上到处都在说,使用Lisp、Clojure等编写代码的好处是可以在“运行时编辑程序”。 也许我缺少了什么,但这有什么意义呢? 当然,这可能会节省几秒钟,但仅此而已吗?每当我对程序进行更改时,我只需停止它,然后重...
我遇到了Richard Stallman的下面这句话:“当你启动Lisp系统时,它会进入一个读取-求值-输出(read-eval-print)循环。大多数其他语言都没有相应的读取,求值和输出功能。这是令人震惊的缺陷!” 现在,我在Lisp中编写代码很少,但我在Python中写了相当多的代码,...
我正在自学Scheme,现在是第1天第1个小时。很明显,我什么都不懂。所以我在读The Little Schemer并使用这个东西: http://sisc-scheme.org/sisc-online.php 作为解释器。 我需要在代码中使用'。(atom? 'turkey) ...
在Clojure出现之前,JVM已经有了三种Lisp语言: Kawa、Armed Bear 和 SISC。 Clojure填补了这些Lisp语言所留下的空白是什么?
Jamie Zawinski在他(1997)的文章"java sucks"中使用了这个术语,好像你应该知道它的含义: 我真的很讨厌没有downward-funargs; 匿名类是一个糟糕的替代品。(我可以没有长期存在的闭包,但是我发现缺少函数指针非常痛苦。) 这似乎是Lisper的俚语,我...
在编程语言中使用原子(atom)或符号(symbol)来表示某种常量的概念,在一些编程语言中得到了应用。我发现Lisp、Ruby和Erlang等语言在这方面有一些不同,但总体上的概念相同。作为一名对编程语言设计感兴趣的人,我很想知道在实际应用中,有原子类型的编程语言提供了什么价值。而Pytho...
我已经学习了足够的Common Lisp知识,可以勉强编写一个应用程序。我已经阅读了Seibel的“Practical Common Lisp”。 为了理解Common Lisp的惯用法和真谛,我应该阅读哪些库或程序?
在Lisp中,同构性很容易理解: (+ 1 2) 既是对+函数的调用,参数为1和2,同时也是包含+、1和2的列表。它同时具有代码和数据的属性。 然而,在像Julia这样的语言中: 1 + 2 我们可以将其解析为Julia中的Expr表达式: :(1 + 2) 然后我们可以获取AS...