大家好,我想开始使用Scheme,我有两个问题。首先,您是否建议使用Scheme的解释器或编译器?为什么?第二,你会推荐哪种解释器或编译器,为什么?谢谢!
答案 0 :(得分:27)
我知道您已经接受了答案,但对于此问题的未来访问者,我建议Chicken Scheme。它往往比mzscheme产生更多更小的可执行文件。请使用以下hello world应用程序,例如:
(define (say-hello name)
(print (string-append "Hello, " name))
(newline))
(say-hello "Earthling")
使用mzc编译--exec mztest hello.scm:3.3M
使用csc hello.scm -o ctest编译:16k
如果你在图书馆支持之后,Chicken会提供Eggs Unlimited,就像是针对mzscheme的PlaneT(或者是ruby的宝石)。
答案 1 :(得分:26)
对于初学者,我强烈推荐DrRacket (以前称为Dr.),因为它为您提供了一个非常好的工作环境,支持Scheme的许多方言,并提供非常好的失败和调试信息。我相信Scheme的大多数实现都是解释器,尽管那里可能有一个编译器。
如果你是像我这样的命令行瘾者,你可以考虑的替代方案是直接运行racket解释器,这与Dr. Racket基本相同,但没有图形环境和命令行界面。或者,使用#! /usr/bin/env racket
启动源文件,并使用chmod +x source.rkt
使其可执行。
答案 2 :(得分:10)
我推荐Gambit-C计划:
答案 3 :(得分:9)
我建议不要担心它是作为编译器,解释器还是它们的组合实现 - 特别是从一开始,帮助文件的质量(例如)将远远超过它的实现方式。
至于哪一个,PLT Scheme是我最常用的({远})。
答案 4 :(得分:3)
PTL计划已更名为Racket(http://racket-lang.org/),但它仍然几乎相同。 Racket博士是一个非常漂亮的开发环境,带有一个shell,并且在Scheme中写下你需要的只是文件顶部的#lang scheme
。