在这个网站上,他们说有10个LISP原语.原语是:atom, quote, eq, car, cdr, cons, cond, lambda, label, apply.
http://hyperpolyglot.wikidot.com/lisp#ten-primitives
Stevey估计有七个(或五个):
它是LISP概念纯度的一部分:你只需要七个(或五个?)原语来构建整个机器. http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html
构建LISP机器的最小基元数是多少(即可以在LISP代码上运行eval/value函数的东西)?(他们是哪一个?)
(我明白你可以没有生活atom, label and apply)
我经常用PHP,Ruby或Perl编写Web应用程序.我正在开始研究Scheme,我想用这种语言尝试一些web项目.但我找不到最适合这种情况的环境.
我正在寻找以下功能:
所以,提前感谢所有回复.
我想知道这些操作之间有什么区别.我在Stack Overflow中看到了类似的问题,但它们是关于Lisp的,并且没有三个运算符之间的比较.所以,如果已经提出这个问题,请告诉我.
我在Scheme中编写不同类型的命令,我得到以下输出:
(eq? 5 5) -->#t
(eq? 2.5 2.5) -->#f
(equal? 2.5 2.5) --> #t
(= 2.5 2.5) --> #t
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会这样吗?
注意:我不是在问哪个学习,哪个更好,或者类似的东西.
我拿起SICP的免费版本,因为我觉得阅读会很好(我听说过很好的东西,而且我对这种编程方面很感兴趣).
我知道Scheme是Lisp的一种方言,我想知道:Scheme和Common Lisp之间的实际区别是什么?
似乎有很多关于'CL有一个更大的stdlib ...方案对现实世界的编程不好......'但实际上并没有说'这是因为CL就是这个/有这个'.
CL和Scheme之间的碎片减缓了吸收(至少对我而言!).
所以,请给我"真实答案"!
我试图阅读特征比较,他们似乎陷入了esoterica(我不完全理解),比如方言是否完全是尾递归等等.我希望你们(共同)能够明确区分不透明的差异.
良好的库支持,良好的环境和Unicode支持.
论战.功能在开始时很有用,但会干扰长期学习.
我一直在使用MzScheme,一旦得到readline支持,我就会很享受.我没有在Unix上运行GUI,所以它对我来说似乎是一个很好的环境选择.
我也很高兴Clojure在debian上有一个易于安装的.deb软件包,所以它更容易玩.这是一个很大的胜利.尽管下面的一些相当容易激怒的敌意,低进入门槛是一个胜利.我喜欢被舀勺.
在阅读了更多SICP之后,我确实更了解尾递归的问题.
首先,不仅有两种主要的语言方言(Common Lisp和Scheme),而且每种方言都有许多单独的实现.例如,Chicken Scheme,Bigloo等......每个都有细微差别.
从现代的角度来看,这很奇怪,因为现在的语言往往具有明确的实现/规范.想想Java,C#,Python,Ruby等,每个网站都有一个单一的权威网站,您可以访问API文档,下载等.当然,Lisp早于所有这些语言.但话说回来,甚至C/C++都是标准化的(或多或少).
由于Lisp的年龄,这个社区的碎片化是什么?或者也许不同的实现/方言旨在解决不同的问题?我理解为什么Lisp永远不会像在一个明确的实现中成长的语言那样团结一致,这是有充分理由的,但是在这一点上,Lisp社区不应该向这个方向发展吗?
我最近越来越多地使用Lisp和Lispy语言,我发现它们非常强大.
我一直在网上阅读的一件事是,在Lisp,Clojure等中编写的好处是你可以"在它运行时"编辑你的程序.
也许我错过了什么,但有什么意义呢?
当然,它可能会节省几秒钟,但就是这样吗?每当我对我的程序进行更改时,我就会停止它然后再次启动它,这已经好几十年了.
除了节省时间之外,必须有一个理由 - 它是什么?
有人能给我一个很好的案例研究,让我流口水这个功能吗?:)
期待流口水!
我一直在使用PLT Scheme,但它有一些问题.有没有人知道通过SICP更好的实施?
在编程语言中使用原子数据类型的功能有多大用处?
一些编程语言具有原子或符号的概念来表示各种常量.我遇到的语言(Lisp,Ruby和Erlang)之间存在一些差异,但在我看来,一般概念是相同的.我对编程语言设计很感兴趣,我想知道原子类型在现实生活中提供了什么价值.其他语言如Python,Java,C#似乎在没有它的情况下做得很好.
我没有Lisp或Ruby的实际经验(我知道语法,但在实际项目中没有使用过).我已经使用Erlang足以用于那里的概念.