问题标签 [common-lisp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
22 回答
57845 浏览

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

我用 Python、PHP、Java 和 C 编程已经有几年或几年了,我刚刚读完 Hackers and Painters,所以我很想试试 LISP!

我理解它与我所知道的完全不同,而且这并不容易。我还认为(如果我错了,请纠正我)围绕 LISP 的社区和开发较少。所以我的问题是:学习 LISP 的最佳方法是什么?

我不介意买书或投资一些时间。我只是不想浪费。

“最终”的想法是使用 LISP 进行 Web 开发,我知道这并不常见,所以......我知道在选择第一本书或教程之前计划好我的学习并花大量时间在可能不会的东西上成为最好的方式!

谢谢大家的答案!

编辑:我读了 Practical Common Lisp 并且是:... 很长,很难,很有趣,肯定让我在 Lisp 中滚动,之后我读了这个小计划,它很短,很有趣,对我的整体编程非常非常好。所以我的建议是先阅读小计划者,然后(几个小时,值得一读)如果你决定 lisp(或计划或任何方言)不是你要找的东西,你仍然会玩得很开心递归的新思路!

0 投票
1 回答
164 浏览

lisp - 阵列升级

如果我正确理解 Common Lisp 标准的第 15.1.2.1 节(upgraded-array-element-type '(unsigned-byte 8)),那么to be'(unsigned-byte 16)甚至t. 因此,我的问题是关于实现的实际行为。

今天是否有任何正在使用'(unsigned-byte 8)'(unsigned-byte 16)升级的实现?换句话说,以下是错误的:

(该表达式适用于 SBCL、CLISP、Allegro CL、Clozure CL 和 LispWorks。)

0 投票
5 回答
2535 浏览

lisp - 我可以在没有 Emacs 的情况下轻松使用 Lisp 吗?

我目前正在阅读 Practical Common Lisp。这本书很棒,语言也很有趣,但我不喜欢学习 Emacs。我已经学习了 Vim,这对于一个大脑来说已经足够了。我不想学别的。双重控制命令让我头疼。在 Windows 上编程 Lisp 的最佳非 Emacs 解决方案是什么?

0 投票
3 回答
404 浏览

lisp - 从命令行安装 asdf 库

来自 Perl 背景,我不得不说我更喜欢cpan Foo::Bar必须启动 sbcl,(require :asdf-install)最后是(asdf-install:install :foo-bar). 周围还有比这更方便的吗?

0 投票
1 回答
1514 浏览

lisp - 如何使用 SBCL 的 SB-SPROF 分配分析?

更新:升级到 SBCL 1.0.24 解决了我的问题。(虽然我还需要将 SLIME 升级到 11-23-2008 修订版。稳定的 2006-04-20 修订版以及 CVS 的负责人似乎不适用于 SBCL 1.0.24。)

SBCL 统计分析器的文档表明,除了 CPU 使用率之外,您还可以分析内存分配。然而,在我的一生中,我无法让它比一个微不足道的 Lisp 形式更多地描述。下面是一个例子:

此时,它通常会挂起。

有没有人在这方面取得成功?

0 投票
5 回答
698 浏览

lisp - 尝试学习:LISP 中的对象重定向和泛型函数!

由于另一个问题,我正在阅读 Practical common Lisp 。

我刚刚阅读了第 16 章和第 17 章,您可以在其中了解 LISP 如何管理对象。但是经过几年思考 Java 如何管理对象后,我似乎无法真正理解如何使用 CLOS 在 LISP 中实现更大的体系结构。

因此,我要求你们阅读 20 到 50 页的关于 CLOS 应用于更大架构而不是简单示例的内容。也许是几篇博文,甚至是经验!

0 投票
8 回答
12300 浏览

windows - 如何在 Windows 中获得 common-lisp GUI?

我正在使用带有 CLISP 和 Slime 的 Emacs,并且希望能够在屏幕上绘制图片。我特别考虑绘制图表,但任何能让我绘制基本形状并操纵它们的东西都可以让我开始。

0 投票
5 回答
13490 浏览

lisp - Common Lisp 中的动态和词法变量

我正在阅读 Peter Seibel 的《实用通用 Lisp》一书。

在第 6 章,“变量”部分,“词法变量和闭包”和“动态,又名特殊,变量”。 http://www.gigamonkeys.com/book/variables.html

我的问题是,这两个部分中的示例都显示了 (let ...) 如何影响全局变量,并且并没有真正说明动态变量和词法变量之间的区别。

我了解闭包是如何工作的,但在这个例子中我真的不明白 let 有什么特别之处:

我觉得这里没有什么特别的。bar中的外部foo递增全局x,而被let in bar包围的foo递增阴影x。有什么大不了的?我不明白这应该如何解释词法变量和动态变量之间的区别。然而这本书仍然是这样的:

那么这是如何工作的呢?LET 怎么知道当它绑定x时它应该创建一个动态绑定而不是正常的词法绑定?它知道是因为名称已被声明为特殊的。12 使用 DEFVAR 和 DEFPARAMETER 定义的每个变量的名称都会自动声明为全局特殊的。

如果let使用“普通词法绑定”绑定x会发生什么?总而言之,动态绑定和词法绑定有什么区别?这个例子对于动态绑定有什么特别之处?

0 投票
1 回答
760 浏览

unit-testing - Common Lisp 的持续集成?

有没有针对 CL 的持续集成框架?具体来说,我正在寻找:

  • 自动“构建”,即从基本状态加载 ASDF 系统
  • 自动化测试
  • 状态推送 - 电子邮件通知等,特别是对于损坏的构建和失败的测试
  • 状态拉取——网站、日志、开发团队可以拉取的任何内容
  • 状态历史记录 - 运行的详细信息已保存并可轻松浏览
  • 在我看来,Lisp 社区的开源方面支持单独开发。对团队的支持很少。只需手动创建一个带有 lib 依赖项的项目主干,可以由随机开发人员签出。

    0 投票
    3 回答
    5880 浏览

    lisp - 什么是 Lisp 图像?

    本质上,我想知道 Lisp 图像是什么?它是包含 Lisp 解释器和一个或多个程序的内存片还是什么?