我想在我的Mac上安装MIT Scheme,我已经下载了MacOS X二进制文件(x86-64).
但是,我无法使用Mac终端工作.
我试图关注这些文章:
在Mac OS X Leopard上安装MIT/GNU Scheme
但它似乎过时了,不起作用.
所以,我正在寻找一种简单的方法,它允许我使用Mac终端编写Scheme代码.
我已经挣扎了几个小时试图安装它.
我想键入类似'scheme file.scm'的内容并让它解释文件,然后将我带回我的shell,而不是将其加载到REPL中.
编辑:我尝试了scheme <test.scm,它仍然使用REPL,唯一的区别是当流结束时方案退出.
我Guile 1.8.8在OS X的口译员中练习Scheme .我发现了一些有趣的东西.
这里的expt函数基本上是取幂的expt(b,n) = b^n:
(define (square x) (* x x))
(define (even? x) (= (remainder x 2) 0))
(define (expt b n)
(cond ((= n 0) 1)
((even? n) (square (expt b (/ n 2))))
(else (* b (expt b (- n 1))))
))
Run Code Online (Sandbox Code Playgroud)
如果我尝试一些输入
> (expt 2 10)
1024
> (expt 2 63)
9223372036854775808
Run Code Online (Sandbox Code Playgroud)
这是一个奇怪的部分:
> (expt 2 64)
0
Run Code Online (Sandbox Code Playgroud)
更奇怪的是,直到n=488它停留在0:
> (expt 2 487)
0 …Run Code Online (Sandbox Code Playgroud) 谁能告诉我mit-scheme中的空值表示是什么?在SICP书中,它应该是"零"但它不起作用.谢谢.
我正在阅读SICP,我正在mit-scheme通过自制软件安装在我的os x 10.8笔记本电脑上.
一切都像宣传的那样工作,但是我很容易被REPL的标签完成和命令行历史记录所破坏,如Python和Node.js这样的运行时.
我不是在寻找任何重要的东西,但是这些功能在现代REPL中很容易实现(它只是一个简单的 Python 启动文件,可以在Node.js中用几行实现).
有没有一种简单的方法可以在没有重型应用程序或必须切换到emacs(即在xterm终端)中的mit-scheme REPL中获取选项卡完成和命令历史记录?
我在Clojure中找到了这个代码来筛选出前n个素数:
(defn sieve [n]
(let [n (int n)]
"Returns a list of all primes from 2 to n"
(let [root (int (Math/round (Math/floor (Math/sqrt n))))]
(loop [i (int 3)
a (int-array n)
result (list 2)]
(if (>= i n)
(reverse result)
(recur (+ i (int 2))
(if (< i root)
(loop [arr a
inc (+ i i)
j (* i i)]
(if (>= j n)
arr
(recur (do (aset arr j (int 1)) arr)
inc
(+ j inc)))) …Run Code Online (Sandbox Code Playgroud) 我一直在使用MIT-Scheme,它的效果很好.但是,在REPL模式下,我真的很想念我输入的所有命令的历史记录.如果出现小的印刷错误,重新输入一段代码是非常令人沮丧的.
如何启用该history模式?(如果存在这样的事情)
我从明安装MIT计划在这里运行的优胜美地在我的笔记本电脑.我可以scheme从终端获得解释器,但我的箭头键似乎都没有工作.对于任何打字错误,我做了我不能回去纠正它.我必须使用退格键或重新输入整个内容.
左箭头打印 ^[[D
右箭头打印 ^[[C
向上箭头打印 ^[[A
向下箭头打印 ^[[B
这是一个截图:
我正试图让Scheme继续进行,以便我可以通过"计算机程序的结构和解释",但我一直在讨论上述问题.我知道如何解决问题,但我不知道如何设置bin目录中的文件--library和--edit其他目录.有人可以给我一个想法,如果我应该使用git bash,cmd,文件目录(属性选项)?我查看了属性,但我没有找到如何以这种方式编辑文件.
我正在使用的Scheme版本是MIT-GNU Scheme.
mit-scheme ×10
scheme ×8
macos ×2
sicp ×2
clojure ×1
command-line ×1
guile ×1
installation ×1
linux ×1
terminal ×1