Questions tagged «scheme»

Scheme是Lisp家族中的一种功能编程语言,它以lambda演算为模型,并进行了急切(应用顺序)评估。有关URL方案的问题,请使用标签“ url-scheme”。

6
球拍与Scheme有何不同?
球拍是Scheme的后代。球拍与R6RS有何不同?它增加了什么或带走了什么,或者只是有所不同? 我知道Racket不仅仅是一种语言,它还是多种语言的平台。但我指的是主要的Racket方言。
183 scheme  lisp  racket 

23
学习LISP的最佳方法是什么?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我已经使用Python,PHP,Java和C进行编程已有两年或几年了,而我刚读完Hackers and Painters,所以我想尝试一下LISP! 我知道它与我所知道的完全不同,而且这并不容易。我也认为(如果我错了,请纠正我)围绕LISP的社区和开发方式会更少。所以我的问题是:学习LISP的最佳方法是什么? 我不介意买书或花一些时间。我只是不想浪费它。 “最终”的想法是使用LISP进行Web开发,我知道这并不常见,所以...我知道在选择第一本书或教程并花很多时间去做可能没有的东西之前,先计划好我的学习是很好的成为最好的方法! 谢谢大家的答案! 编辑:我读了《实践通用Lisp》,并且:... ...漫长,艰苦,有趣,并且确实使我在Lisp中滚动,之后,我阅读了这个小编程器,它简短,有趣,并且对我的整体编程非常好。因此,我的建议是先阅读小策划者,然后(几个小时,这是值得的),如果您确定Lisp(或计划或其他方言)不是您要找的东西,您仍然会觉得很有趣递归的新思维方式!
167 lisp  scheme  common-lisp 

30
Lisp在现实世界中
我已经对Lisp(实际上是Scheme)进行了实验,发现它是一门非常美丽的语言,我有兴趣进一步学习。但是,似乎Lisp从未在严肃的项目中使用过,而且我还没有将Lisp列为任何职位发布中所需要的技能。我很高兴听到有人使用Lisp或看到它在“现实世界”中使用过,或者知道它是否被视为纯粹的学术语言。

4
请解释保罗·格雷厄姆(Paul Graham)关于Lisp的一些观点
我需要一些帮助来了解Paul Graham的《What Lisp Lisp Different》中的一些要点。 变量的新概念。在Lisp中,所有变量实际上都是指针。值是具有类型的变量,不是变量,分配或绑定变量意味着复制指针,而不是它们指向的指针。 符号类型。符号与字符串的不同之处在于,您可以通过比较指针来测试是否相等。 使用符号树的代码符号。 整个语言始终可用。读取时间,编译时间和运行时之间没有真正的区别。您可以在读取时编译或运行代码,在编译时读取或运行代码,以及在运行时读取或编译代码。 这些要点是什么意思?它们在诸如C或Java之类的语言中有何不同?除Lisp家族语言外,其他语言现在是否具有这些构造?

12
为什么到底是邪恶?
我知道Lisp和Scheme程序员通常会说eval除非绝对必要,否则应避免这样做。对于几种编程语言,我已经看到了相同的建议,但是尚未看到反对使用的明确参数列表eval。在哪里可以找到有关使用潜在问题的说明eval? 例如,我知道GOTO过程编程中的问题(使程序难以阅读且难以维护,很难找到安全性问题,等等),但是我从未见过反对的论点eval。 有趣的是,相同的论点GOTO应该对延续有效,但我看到例如Schemers不会说延续是“邪恶的”-使用它们时应该小心。与eval使用延续的代码相比,他们更不喜欢使用代码(据我所知-我可能是错的)。

6
为什么Clojure除了“符号”外还有“关键字”?
从过去开始,我就对其他Lisps(尤其是Scheme)有所了解。最近,我一直在阅读有关Clojure的文章。我看到它既有“符号”又有“关键字”。我熟悉的符号,但不包含关键字。 其他Lisps是否有关键字?除了具有不同的符号(即冒号)以外,关键字与符号有何不同?
130 lisp  clojure  scheme  keyword 


5
什么是“无点”样式(在函数式编程中)?
我最近注意到的一句话是“无点”风格的概念。 首先,有一个问题,还有这个问题。 然后,我发现他们在这里提到“可能值得讨论的另一个主题是作者对点自由样式的厌恶”。 什么是“免积分”风格?有人可以给出一个简洁的解释吗?它与“自动”咖喱有关系吗? 为了了解我的水平-我一直在教自己Scheme,并且编写了一个简单的Scheme解释器...我了解“隐式”的currying是什么,但是我不知道任何Haskell或ML。

4
Clojure与其他Lips的比较[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 我提出这个问题的目的不是发动一场火焰之战,而是确定每种语言在什么情况下是“从事这项工作的最佳工具”。 我已经阅读了几本有关Clojure的书(编程Clojure,实用Clojure,Clojure 的喜悦以及Clojure in Action的Manning早期访问版),我认为它是一种很棒的语言。我目前正在阅读Let Over Lambda,它主要处理Common Lisp宏,它也是一种非常有趣的语言。 我不是 Lisp专家(更多的是新手),但是这种语言家族和函数式编程一样,让我着迷。 Clojure的优点(和“其他”的缺点): 在JVM上运行。 JVM是一种非常稳定的高性能语言环境,完全符合Sun的梦想:“编写一次,几乎可以在任何地方运行”。我可以在Macbook Pro上编写代码,将其编译为可执行的JAR文件,然后在不进行额外测试的情况下在Linux和Microsoft Windows上运行它。 (热点和其他)JVM支持高质量的垃圾收集以及非常高效的即时编译和优化。几年前,我编写了必须在C中快速运行的所有内容,而现在我毫不犹豫地在Java中这样做。 标准,简单的多线程模型。Common Lisp是否具有标准的多线程程序包? 用[],{}和打破所有括号的单调性#{},尽管Common Lisp专家可能会告诉我,使用阅读器宏,您可以将其添加到CL中。 Clojure的缺点: 在JVM上运行。 无尾递归或连续。Common Lisp是否支持延续?我认为,计划需要两者的支持。 他人的优点(尤其是Lisp的常见缺点)(以及Clojure的缺点): 用户可定义的阅读器宏。 其他优势? 有什么想法吗?其他差异?

15
OS X的最佳Scheme或LISP实现是什么?
我正在寻找一个Scheme或LISP版本,可以用来恢复一些丢失的Lisp开发技能。某些Web功能会很好,但不是必需的。 我研究了Plt和MIT方案,虽然两者看起来都不错,但Plt似乎功能更丰富。我也看过Lisp的实现,但是所有这些看起来都很昂贵。 我赞成免费/廉价的实现,因为这确实很可能只是偶尔的业余编程。您有什么建议?
85 macos  lisp  scheme  racket 

7
Scheme中的eq?,eqv?,equal?和=之间有什么区别?
我想知道Scheme中的那些操作之间有什么区别。我在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 为什么会这样呢?

6
建造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)

14
如何使用Lisp或Scheme进行网络编程?
我通常用PHP,Ruby或Perl编写Web应用程序。我正在研究Scheme,我想尝试使用这种语言的一些Web项目。但是我找不到最佳的环境。 我正在寻找以下功能: 一种获取请求参数的简单方法(类似:get-get#key,get-post#key,get-cookie #key)。 MySQL访问。 HTML表单生成器,处理,验证器等。 用于过滤用户输入数据的助手(诸如htmlentities,用于转入查询的转义变量等)。 牙线。 与GNU / Linux友好。 因此,在此先感谢所有答复。
78 lisp  scheme 

4
Scheme和Common Lisp之间的实际区别是什么?(或Lisp的其他两种方言)
注意:我不是在问要学习哪个,哪个更好或者类似的东西。 我选择了SICP的免费版本,因为我觉得读起来会很高兴(我听说过很多不错的东西,并且我对编程的这种方面很感兴趣)。 我知道Scheme是Lisp的方言,我想知道:Scheme与Common Lisp之间的实际区别是什么? 似乎有很多关于“ CL具有更大的stdlib ...方案对于实际编程不利的..”,但实际上并没有说“这是因为CL是这个/拥有这个”。

17
我应该学习哪个Lisp?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我应该学习哪个Lisp(方言),为什么? CL和Scheme之间的碎片化减慢了吸收速度(至少对我而言!)。 因此,请给我“真实答案”! 我已经尝试阅读功能比较,它们似乎陷入了esoterica(我不完全了解)的困境,例如方言是否完全尾部递归等。我希望大家(共同)可以使不透明的差异变得清晰。 我喜欢的东西 良好的库支持,良好的环境和Unicode支持。 我不喜欢的事 火焰战。一开始有用的功能,但会干扰长期学习。 更新 我一直在使用MzScheme,一旦获得了readline支持,我会感觉很好。我没有在Unix上运行GUI,因此对我来说这似乎是一个不错的环境选择。 我也很高兴Clojure在debian上易于安装.deb软件包,因此更容易使用。这是一个巨大的胜利。尽管下面有些人很容易发火,但进入门槛低仍然是一个胜利。我喜欢被人喂。 在阅读了很多SICP之后,我确实更好地了解了尾递归的问题。
71 lisp  clojure  scheme 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.