标签: mit-scheme

在Windows 7上运行MIT Scheme时"请求的分配太大"错误

错误:

"请求的分配太大.尝试使用较小的参数--heap"

我从http://www.gnu.org/software/mit-scheme/下载了windows二进制文件.

我该如何解决?

scheme mit-scheme

7
推荐指数
2
解决办法
4972
查看次数

用MIT方案绘制图形

我希望使用MIT方案以图形方式绘制函数.在方案手册中,有一个名为"图形"的部分 - 引用:

MIT Scheme has a simple two-dimensional line-graphics interface that is 
suitable for many graphics application.
Run Code Online (Sandbox Code Playgroud)

如果您遇到过这种情况,请通过粘贴与MIT /方案一起使用的最小工作代码(KISS原则)帮助我,并绘制一些东西.

scheme mit-scheme

6
推荐指数
2
解决办法
2764
查看次数

mit-scheme - 运行脚本并退出

我想从makefile评估一个脚本并退出,就像这样

mit-scheme --load "fact.scm"
Run Code Online (Sandbox Code Playgroud)

但是,在评估文件后,它不会退出,并显示repl; 如果我尝试(exit)原语,它会要求确认y/n.有可能解决这个问题吗?

mit-scheme

6
推荐指数
2
解决办法
1741
查看次数

设置的车!并用计划语言

我对这个例子的结果有点困惑:

(define mk-q
  (lambda ()
    (let ([l '(x)])
      (cons l l))))


(define q (mk-q))

q
=> ((x) x)

(set-car! (cdr q) 'y)
=> ((y) y)
Run Code Online (Sandbox Code Playgroud)

我想知道为什么两个x原子都被set-car!程序所取代(我对结果的第一个猜测是什么((x) y))?

例如:

(define mk-q2
  (lambda ()
    (let ([l '(x)])
      (cons l (cons l l)))))

(define q2 (mk-q2))
(set-car! (cdr q2) 'y)
=> ((x) y x) which fits my understanding of set-car!
Run Code Online (Sandbox Code Playgroud)

为什么x第一个例子中的两个都被替换了?

lisp scheme racket mit-scheme

5
推荐指数
1
解决办法
922
查看次数

在 MIT-scheme 中读取命令行参数

我正在尝试使用 MIT 方案(在 GNU/Linux 下运行的 MIT/GNU 方案,版本 7.7.90.+ || Microcode 15.1 || Runtime 15.7)运行方案程序,我想访问命令行参数。

我查看了文档,但没有找到任何具体内容。我尝试过命令行,但收到​​一条错误消息:

;Unbound variable: command-line
Run Code Online (Sandbox Code Playgroud)

我是否必须加载一些库才能使用命令行,或者是否有其他功能?

scheme mit-scheme

5
推荐指数
1
解决办法
1509
查看次数

为什么我得到"原子"的未绑定错误?

我试图通过"The Little Lisper"并在第一章中遇到障碍.我对Emacs比较陌生(这激发了我学习Lisp和clojure的兴趣).我下载了Mit-scheme app,正在Edwin上练习.

我尝试着:

(atom? (cons a l))
Run Code Online (Sandbox Code Playgroud)

其中a是原子,l是已定义的列表.我收到以下错误:

;Unbound variable: atom?
Run Code Online (Sandbox Code Playgroud)

为什么?我使用"null"没有问题吗?功能.我以为"原子?" 是一个内部函数,检查返回的值是否为原子.

任何解释都将非常感激.我仍然没有设置我的emacs来运行方案,所有lisp方言之间的细微差别正在测试我的耐心.

lisp scheme the-little-schemer mit-scheme

5
推荐指数
1
解决办法
1386
查看次数

是否有可能将 MIT 方案从可移植 C 引导到本机?

作为一个实验,我尝试从 Portable C 发行版开始引导 MIT 方案。

etc/make-liarc.sh我使用随后的构建了第一个安装make install。这构建并安装了一个有效的(据称)MIT 方案。dox 说这不是原生构建。

所以...我解压了unix源代码发行版,并在构建运行时、sf、cref和编译器后执行了configureand which barfs,抱怨“./tools/syntaxer.com”没有作为上述安装的一部分安装。make

所以...我再次解压 unix 源发行版,然后尝试etc/make-native.sh。这将构建运行时、sf 和 cref,然后在尝试编译编译器时构建 barfs。它抱怨未绑定的变量 cref/generate-trivial-constructor。

我的问题——是否可以从可移植 C 发行版引导到本机构建?如果是这样,怎么办?

scheme mit-scheme

5
推荐指数
0
解决办法
195
查看次数

无法弄清楚如何运行 .scm(使用 guile 或 scm)文件

我创建了一个abc.scm文件,并尝试在 Ubuntu 的终端中使用“ guild compile ”、“ scm ”和“ guile ”命令将其编译为二进制文件(或任何编译为的 guile 方案)。

对于“ guild compile abc.scm ”,我得到的输出“写为‘/home/tarunmaganti/.cache/guile/ccache/2.0-LE-8-2.0/home/tarunmaganti/abc.scm.go’ ”我找到了文件并像这样运行 - “ ./abc.scm.go ”表示权限被拒绝。
当我使用“ chmod 755 ”或“ chmod 777 ”授予必要的权限时,出现类似 - “ bash: ./abc.scm.go: cannot execute binary file: Exec format error ”的错误

scm what-file-name.scm ”只是打开scm解释器。

" guile 任何文件名.scm什么都不做。

官方 GNU/Guile Scheme 的链接不是很有帮助。

请帮我。我想创建一个 guile 方案脚本文件。编译它并将其作为 C/C++ 程序运行。是否可以?如果无法编译,我想知道,如何至少运行GNU/guile 方案MIT-Scheme的脚本文件。

{非常感谢逐步介绍,我仍然是使用 Ubuntu 和 Scheme 的初学者。}

提前致谢。

scheme interpreter compilation guile mit-scheme

5
推荐指数
1
解决办法
2157
查看次数

成熟和维护的 Scheme 编译器,可在 Windows、Mac OS X 和 Linux 上运行独立的本机代码可执行文件

我正在寻找一个成熟且维护良好的 Scheme 编译器,它可以在(每个)Windows (.exe)、Mac OS X 和 Linux 上生成独立的本机代码可执行文件。可执行文件不需要 GUI - 只需标准文本 IO (stdin/stdout/stderr) 就可以了。您会推荐哪种编译器满足这些要求?

一个相关(但不同)问题的答案表明 Gambit-C。根据提交日志,它似乎仍然处于活动状态。还有其他竞争对手吗? 麻省理工学院计划似乎不经常更新 - 我说得对吗?

谢谢!

PS 回复评论:对我来说,自 R4RS 以来的任何版本的 Scheme 都可以,但丰富的 SRFI 支持可能更重要。

另一条评论建议使用CHICKEN,它似乎很活跃。它还建议Racket,它是一个字节码编译器,但具有 JIT 并且可以创建一个独立的包。(我还没有检查 Chez Scheme。我在这里“复制”这些“答案”,因为问题被搁置,即使按照指示编辑后似乎也无法重新打开......)

scheme mit-scheme

5
推荐指数
0
解决办法
780
查看次数

方案中标识符和符号之间的区别?

我试图了解Scheme元循环求值器如何以不同于符号数据的方式处理引用表达式。

接受的答案 Stack Overflow 问题lisp/scheme 中的符号到底是什么?在Scheme中定义了“symbol”数据对象:

在Scheme和Racket中,符号就像一个不可变的字符串,恰好被保留

接受的答案写道,在Scheme中,标识符和符号之间存在内置的对应关系:

要调用方法,您可以查找与方法名称相对应的符号。Lisp/Scheme/Racket 使这变得非常容易,因为该语言已经在标识符(语言语法的一部分)和符号(语言中的值)之间建立了内置的对应关系。

为了理解对应关系,我阅读了“方案及其实现简介”中的“关于标识符的注释”页面,其中说

方案标识符(变量名称和特殊形式名称和关键字)与方案符号对象字符序列具有几乎相同的限制,这并非巧合。大多数Scheme的实现都是用Scheme编写的,并且在解释器或编译器中使用符号对象来表示变量名。

基于上述内容,我想知道我对以下会话中发生的事情的理解是否正确:

user@host:/home/user $ scheme
MIT/GNU Scheme running under GNU/Linux
Type `^C' (control-C) followed by `H' to obtain information about interrupts.

Copyright (C) 2011 Massachusetts Institute of Technology
This is free software; see the source for copying conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Image saved on Sunday February 7, 2016 at 10:35:34 AM
  Release 9.1.1 …
Run Code Online (Sandbox Code Playgroud)

lisp scheme symbols identifier mit-scheme

5
推荐指数
1
解决办法
2224
查看次数