标签: scheme

Racket与Scheme有何不同?

Racket是Scheme的后代.Racket与R6RS有何不同?它添加或带走了什么,或者只是不同?

据我所知,Racket不仅仅是一种语言,它还是一种语言平台.但我指的是主要的球拍方言.

lisp scheme racket

174
推荐指数
6
解决办法
5万
查看次数

学习LISP的最佳方法是什么?

我已经用Python,PHP,Java和C编程了几年或几年,我刚读完黑客和画家,所以我很乐意尝试一下LISP!

我理解它与我所知道的完全不同,并且这并不容易.我想(如果我错了,请纠正我)LISP的社区和发展方式会减少.所以我的问题是:学习LISP的最佳方法是什么?

我不介意买书或投入一些时间.我只是不想浪费它.

"最终"的想法是使用LISP进行网页开发,我知道这不是那么常见所以......我知道在选择第一本书或教程之前计划我的学习是很好的,并花费大量时间在可能没有的东西上是最好的方式!

谢谢大家的答案!

编辑:我阅读Practical Common Lisp并且:...长,有点,有趣并且肯定让我在Lisp中滚动,之后我读了这个小阴谋家,这对我的整体编程很简单,有趣且非常好.因此,我的建议是首先阅读小阴谋,然后(它需要几个小时而且值得)如果你决定使用lisp(或方案或任何方言)不是你想要的东西,你仍然会非常有趣关于递归的新思路!

lisp scheme common-lisp

165
推荐指数
14
解决办法
5万
查看次数

Lisp在现实世界中

我已经尝试过Lisp(实际上是Scheme)并发现它是一种非常漂亮的语言,我有兴趣学习更多.但是,似乎Lisp从未在严肃的项目中使用过,而且我没有看到它被列为任何职位发布所需的技能.我有兴趣听到任何使用过Lisp或者在"现实世界"中使用它的人,或者谁知道它是否被认为是纯粹的学术语言.

lisp scheme clojure common-lisp

144
推荐指数
25
解决办法
3万
查看次数

请解释Paul Graham关于Lisp的一些观点

我需要一些帮助来理解Paul Graham的What What Lisp Different中的一些观点.

  1. 一个新的变量概念.在Lisp中,所有变量都是有效的指针.值是具有类型而不是变量的值,分配或绑定变量意味着复制指针,而不是它们指向的内容.

  2. 符号类型.符号与字符串的不同之处在于您可以通过比较指针来测试相等性.

  3. 使用符号树的代码表示法.

  4. 整个语言始终可用.读取时间,编译时和运行时之间没有真正的区别.您可以在编译时编译或运行代码,同时在运行时读取或编译代码.

这些点意味着什么?它们在C或Java等语言中有何不同?除了Lisp系列语言之外的任何其他语言现在都有这些结构吗?

lisp scheme clojure common-lisp paul-graham

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

为什么eval邪恶呢?

我知道Lisp和Scheme程序员通常会说eval除非必要,否则应该避免.我已经看到了几种编程语言的相同建议,但我还没有看到一个反对使用的明确论据列表eval.我在哪里可以找到使用中潜在问题的说明eval

例如,我知道GOTO程序编程中的问题(使程序难以理解且难以维护,难以找到安全问题等),但我从未见过反对的论点eval.

有趣的GOTO是,相反的论点应该对延续有效,但我看到Schemers,例如,不会说延续是"邪恶的" - 你在使用时应该小心.他们更倾向于使用代码而eval不是代码使用continuation(据我所知 - 我可能是错的).

lisp scheme eval clojure common-lisp

141
推荐指数
8
解决办法
1万
查看次数

除了"符号"之外,为什么Clojure还有"关键字"?

我从其他方面了解其他Lisps(特别是Scheme).最近我一直在读关于Clojure的文章.我看到它有"符号"和"关键字".符号我很熟悉,但没有关键字.

其他Lisps有关键字吗?关键字如何与除了具有不同符号(即:冒号)之外的符号不同?

lisp scheme clojure keyword

125
推荐指数
5
解决办法
2万
查看次数

Clojure,Scheme/Racket和Common Lisp有什么区别?

我知道他们是同一个语言家族的方言,称为lisp,但究竟是什么区别呢?如果可能,您是否可以概述语法,特征,功能和资源等主题.

lisp scheme clojure common-lisp racket

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

什么是函数式编程中的点自由风格?

我最近注意到的一个短语是"无点"风格的概念......

首先,有这样的问题,也是这一个.

然后,我在这里发现他们提到"另一个可能值得讨论的话题是作者不喜欢点自由风格."

什么是"免费"风格?有人可以给出简明的解释吗?它与"自动"曲线有关吗?

为了了解我的水平 - 我一直在教自己Scheme,并编写了一个简单的Scheme解释器...我理解"隐含"currying是什么,但我不知道任何Haskell或ML.

scheme functional-programming coding-style pointfree

87
推荐指数
4
解决办法
2万
查看次数

Clojure与其他Lisps

我的问题的目的不是要开始一场火焰战争,而是要确定在什么情况下每种语言都是"工作的最佳工具".

我已经阅读了几本关于Clojure的书(Clojure 编程,实用Clojure,Clojure 的喜悦,以及Clojure in Action的Manning Early Access版本),我认为这是一本很棒的语言.我目前正在阅读Let Over Lambda,它主要涉及Common Lisp宏,而且它也是一种非常有趣的语言.

不是 Lisp专家(更多的是新手),但这个语言系列对我来说很有吸引力,一般来说,功能编程也是如此.

Clojure的优点(以及"其他"的缺点):

  • 在JVM上运行.

    • JVM是一个非常稳定,高性能的语言环境,很好地满足了Sun的"一次编写,几乎在任何地方运行"的梦想.我可以在我的Macbook Pro上编写代码,将其编译成可执行的JAR文件,然后在Linux和Microsoft Windows上运行它,几乎不需要额外的测试.

    • (Hotspot和其他)JVM支持高质量的垃圾收集和非常高效的即时编译和优化.就在几年前,我写了一些必须在C中快速运行的东西,现在我毫不犹豫地在Java中这样做.

    • 标准,简单,多线程模型.Common Lisp是否有标准的多线程包?

    • 打破了所有这些括号的单调[],{}#{},虽然Common Lisp的专家可能会告诉我,有读者宏,你可以添加那些CL.

Clojure的缺点:

  • 在JVM上运行.
    • 没有尾递归或延续.Common Lisp是否支持延续?我相信,计划需要支持两者.

其他人的优点(特别是Common Lisp)(以及Clojure的缺点):

  • 用户可定义的阅读器宏.

  • 其他优点?

思考?其他差异?

lisp comparison scheme clojure common-lisp

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

OS X的最佳Scheme或LISP实现是什么?

我正在寻找一个Scheme或甚至LISP的版本,我可以用它来恢复一些失去的Lisp开发技巧.一些Web功能会很好,但不是必需的.

我看过Plt和MIT方案,虽然两者看起来都不错,但Plt看起来更加丰富.我也看了Lisp实现,但所有看起来都很昂贵.

我赞成免费/廉价的实现,因为这可能只是偶尔的业余爱好编程.你有什么建议?

lisp macos scheme racket

85
推荐指数
6
解决办法
3万
查看次数