标签: scheme

构建LISP机器需要多少原语?十,七,五?

在这个网站上,他们说有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)

lisp primitive scheme clojure common-lisp

76
推荐指数
6
解决办法
1万
查看次数

如何使用Lisp或Scheme进行Web编程?

我经常用PHP,Ruby或Perl编写Web应用程序.我正在开始研究Scheme,我想用这种语言尝试一些web项目.但我找不到最适合这种情况的环境.

我正在寻找以下功能:

  • 获取请求参数的简单方法(类似于:get-get #key,get-post #key,get-cookie #key).
  • Mysql访问.
  • HTML表单生成器,处理,验证器等.
  • 用于过滤用户输入数据的助手(类似于htmlentities,用于放入查询的转义变量等).
  • FLOSS.
  • 和GNU/Linux友好.

所以,提前感谢所有回复.

lisp scheme

75
推荐指数
9
解决办法
2万
查看次数

方案中的eq?,eqv ?, equal?和=有什么区别?

我想知道这些操作之间有什么区别.我在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)

有人可以解释为什么会这样吗?

scheme functional-programming

72
推荐指数
5
解决办法
4万
查看次数

Scheme和Common Lisp之间有什么实际区别?(或任何其他两种Lisp方言)

注意:我不是在问哪个学习,哪个更好,或者类似的东西.

我拿起SICP的免费版本,因为我觉得阅读会很好(我听说过很好的东西,而且我对这种编程方面很感兴趣).

我知道Scheme是Lisp的一种方言,我想知道:Scheme和Common Lisp之间的实际区别是什么?

似乎有很多关于'CL有一个更大的stdlib ...方案对现实世界的编程不好......'但实际上并没有说'这是因为CL就是这个/有这个'.

lisp scheme common-lisp sicp racket

71
推荐指数
3
解决办法
2万
查看次数

我应该学习哪个Lisp?

我应该学习哪种Lisp(方言),为什么?

CL和Scheme之间的碎片减缓了吸收(至少对我而言!).

所以,请给我"真实答案"!

我试图阅读特征比较,他们似乎陷入了esoterica(我不完全理解),比如方言是否完全是尾递归等等.我希望你们(共同)能够明确区分不透明的差异.

我喜欢的事

良好的库支持,良好的环境和Unicode支持.

我不喜欢的事情

论战.功能在开始时很有用,但会干扰长期学习.


更新

  1. 我一直在使用MzScheme,一旦得到readline支持,我就会很享受.我没有在Unix上运行GUI,所以它对我来说似乎是一个很好的环境选择.

  2. 我也很高兴Clojure在debian上有一个易于安装的.deb软件包,所以它更容易玩.这是一个很大的胜利.尽管下面的一些相当容易激怒的敌意,低进入门槛是一个胜利.我喜欢被舀勺.

  3. 在阅读了更多SICP之后,我确实更了解尾递归的问题.

lisp scheme clojure

69
推荐指数
9
解决办法
2万
查看次数

为什么Lisp社区如此分散?

首先,不仅有两种主要的语言方言(Common Lisp和Scheme),而且每种方言都有许多单独的实现.例如,Chicken Scheme,Bigloo等......每个都有细微差别.

从现代的角度来看,这很奇怪,因为现在的语言往往具有明确的实现/规范.想想Java,C#,Python,Ruby等,每个网站都有一个单一的权威网站,您可以访问API文档,下载等.当然,Lisp早于所有这些语言.但话说回来,甚至C/C++都是标准化的(或多或少).

由于Lisp的年龄,这个社区的碎片化是什么?或者也许不同的实现/方言旨在解决不同的问题?我理解为什么Lisp永远不会像在一个明确的实现中成长的语言那样团结一致,这是有充分理由的,但是在这一点上,Lisp社区不应该向这个方向发展吗?

lisp scheme common-lisp

69
推荐指数
5
解决办法
8206
查看次数

在"运行时"编辑程序?为什么?

我最近越来越多地使用Lisp和Lispy语言,我发现它们非常强大.

我一直在网上阅读的一件事是,在Lisp,Clojure等中编写的好处是你可以"在它运行时"编辑你的程序.

也许我错过了什么,但有什么意义呢?

当然,它可能会节省几秒钟,但就是这样吗?每当我对我的程序进行更改时,我就会停止它然后再次启动它,这已经好几十年了.

除了节省时间之外,必须有一个理由 - 它是什么?

有人能给我一个很好的案例研究,让我流口水这个功能吗?:)

期待流口水!

lisp scheme clojure

64
推荐指数
8
解决办法
6459
查看次数

通过SICP工作的最佳方案实施是什么?

我一直在使用PLT Scheme,但它有一些问题.有没有人知道通过SICP更好的实施?

lisp scheme sicp

63
推荐指数
5
解决办法
3万
查看次数

Lisp和Erlang Atoms,Ruby和Scheme符​​号.它们有用吗?

在编程语言中使用原子数据类型的功能有多大用处?

一些编程语言具有原子或符号的概念来表示各种常量.我遇到的语言(Lisp,Ruby和Erlang)之间存在一些差异,但在我看来,一般概念是相同的.我对编程语言设计很感兴趣,我想知道原子类型在现实生活中提供了什么价值.其他语言如Python,Java,C#似乎在没有它的情况下做得很好.

我没有Lisp或Ruby的实际经验(我知道语法,但在实际项目中没有使用过).我已经使用Erlang足以用于那里的概念.

ruby lisp erlang scheme

61
推荐指数
6
解决办法
9699
查看次数

Lisp Web框架?

对于各种风格的LISP,流行的(好的,流行的是相对的)Web框架有哪些?

lisp scheme guile

60
推荐指数
10
解决办法
2万
查看次数