皆さん、Schemeの使用を開始したいのですが、2つの質問があります。まず、Schemeにインタープリターまたはコンパイラーを使用することをお勧めしますか?その理由は何ですか?次に、Schemeのどのインタープリターまたはコンパイラーをお勧めしますか?その理由は何ですか?ありがとう!
初心者には DrRacket (以前のScheme博士)をお勧めします。これは、作業に本当にいい環境を提供し、Schemeの多くの方言をサポートし、非常に優れた障害およびデバッグ情報を提供するためです。 Schemeのほとんどの実装はインタープリターであると信じていますが、コンパイラーが存在する可能性はあります。
あなたが私のようなコマンドライン中毒者である場合、あなたが検討するかもしれない代替案は racket インタプリタを直接実行することです。これは本質的にはラケット博士と同じですが、グラフィカル環境とコマンドラインインターフェースなしです。または、#! /usr/bin/env racket
でソースファイルを起動し、chmod +x source.rkt
で実行可能にします。
すでに回答を受け入れていることは承知していますが、今後この質問にアクセスする場合は、 チキンスキーム をお勧めします。 mzschemeよりも小さいmuch実行可能ファイルを生成する傾向があります。たとえば、次の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のgems)に似ています。
Gambit-C スキームをお勧めします:
ざっと調べてみると、チキンは物足りないように見えますが、ビグルーは深刻な競争相手かもしれません。しかし、私はそれらについてあまりコメントすることはできません。
コンパイラー、インタープリター、またはそれらの組み合わせとして実装されているかどうかを気にしないことをお勧めします-特に、まず、ヘルプファイルの品質(一例)は、実装方法よりもはるかに重要です。
どれに関しては、 PLT Scheme が私が(はるかに)最も頻繁に使用するものです。
PTL SchemeはRacketに名前が変更されました( http://racket-lang.org/ )が、それでもほとんど同じです。ラケット博士はシェルを備えた非常に気の利いた開発環境であり、Schemeで書くために必要なのは#lang scheme
はファイルの上部にあります。