问题标签 [scheme]
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.
programming-languages - Scheme中柯里化函数的实现
当我执行以下操作时会发生什么?
我知道我可以这样做:
现在我可以使用咖喱了。我很好奇的是函数的定义。是否行
以 x 作为参数创建一个新的 lambda,然后在 1 上调用它?或者它是否比这更聪明,它只是重新使用现有的。(例如,如果我这样做(curried 0)
,该((func x) 1)
行将等同于(curried 1)
- PLAI Scheme 这样做吗?)
lisp - 在 Notepad++ 中编译 lisp/scheme
我现在非常喜欢 lisp,不幸的是我只能在 Windows 上编写代码。是否可以让 Notepad++ 负责解释我的脚本,并在编译器窗口中显示输出?
如果是,最好使用哪种解释器?
谢谢!
emacs - 有这么多括号,如何有效地键入 lisp?
我尽量将手指放在本垒上。
键入所有括号让我远离那里。
我使用 Emacs;括号本身没有问题,我对它们很满意。而且我不喜欢自动为我键入它们的模式。
我考虑过将方括号重新映射到括号,反之亦然。这是一个好主意吗?其他人都做什么?
scheme - 在 Scheme 中使用 AND 和 apply 函数
为什么以下不起作用?
虽然以下工作正常。
R5RS 和 R6RS 似乎都是这种情况?
scheme - DrScheme 与 mzscheme:定义的处理
我的一个长期项目是完成 SICP 的所有练习。我注意到最近的练习有点奇怪。我正在测试一个霍夫曼编码树。当我在 DrScheme 中执行以下代码时,我得到了预期的结果:
但是,如果我通过调用 (load "2.67.scm") 或运行 mzscheme -f 2.67.scm 在 mzscheme 中执行相同的代码,它会报告:
我的问题是:为什么?是不是因为 mzscheme 和 drscheme 使用不同的规则来加载程序定义?程序代码如下。
debugging - 有调试生产功能程序的实际经验吗?
我对用于诊断大型功能程序中的缺陷的工具和方法感兴趣。什么工具有用?我目前的理解是“printf”调试(例如添加日志记录和重新部署)是通常使用的。
如果你已经调试了一个功能系统,那么调试一个用 OO 或过程语言构建的系统有什么不同呢?
lisp - 学习 LISP 的最佳方法是什么?
我用 Python、PHP、Java 和 C 编程已经有几年或几年了,我刚刚读完 Hackers and Painters,所以我很想试试 LISP!
我理解它与我所知道的完全不同,而且这并不容易。我还认为(如果我错了,请纠正我)围绕 LISP 的社区和开发较少。所以我的问题是:学习 LISP 的最佳方法是什么?
我不介意买书或投资一些时间。我只是不想浪费。
“最终”的想法是使用 LISP 进行 Web 开发,我知道这并不常见,所以......我知道在选择第一本书或教程之前计划好我的学习并花大量时间在可能不会的东西上成为最好的方式!
谢谢大家的答案!
编辑:我读了 Practical Common Lisp 并且是:... 很长,很难,很有趣,肯定让我在 Lisp 中滚动,之后我读了这个小计划,它很短,很有趣,对我的整体编程非常非常好。所以我的建议是先阅读小计划者,然后(几个小时,值得一读)如果你决定 lisp(或计划或任何方言)不是你要找的东西,你仍然会玩得很开心递归的新思路!
macos - 如何让方案解释器在 Emacs 中工作?
我正在通过 SICP,我希望有一个类似于交互式 Python 解释器的解释器,以便在我观看讲座和阅读本书时玩。此外,我希望这个解释器在 Emacs 中运行,这样我就可以在方案代码文件和交互式解释器等之间来回跳转。
但是,我对 Emacs 还很陌生,到目前为止还不能让它工作或找到一套清晰的指令来让它工作。
似乎我应该能够设置它,以便M-x run-scheme
打开一个交互式解释器,至少听起来正是我想要的,但目前这只是返回Searching for program: no such file or directory, scheme
,我无法弄清楚我到底是什么文件需要在哪里解决这个问题。
我正在GNU Emacs 22.1.1 (mac-apple-darwin, Carbon Version 1.6.0)
通过 OS X 10.5 安装 DVD 安装。
multithreading - 如何在 OS X 的 Bigloo 方案中启用本机线程支持?
我正在尝试Bigloo
从源代码编译Scheme,但我无法弄清楚如何通过./configure
OS X 10.5(Leopard)启用本机线程支持(而且我还没有读到线程不应该在这个平台上工作的任何地方)。
我运行./configure --enable-sqlite --enable-web --enable-ssl --enable-pthreads --enable-fthreads
,但是在配置摘要中,我总是得到:
我想Bigloo
使用Hop
,当我尝试使用如此创建的二进制文件运行它时,我总是收到警告:
scheme - 将整数转换为列表?
我目前正在尝试将整数转换为列表。
例如
1234 => 由 1、2、3、4 组成的列表
我有这个:
不幸的是,它添加了#'s 和\'s。我猜这是一个数字的字符串表示。我怎样才能删除这些符号。因为我需要重新排序整数,并打印出一个列表。
这是上面命令的输出:
(#\1 #\2 #\3 #\4)