2013-08-16 1 views
7

私は、拡張と設定用のスクリプト言語を組み込んだプログラムを書き直しています。古いプログラムはLuaを使用していました。私のプログラムには簡単に埋め込み、ソースをダウンロードして解凍し、 lua.cとluac.cを削除すれば、すべてうまく動作します。関数型プログラミング言語の学習のために、私は新しいスクリプトのバックエンドとしてlispの方言(スキーム)を選択することにしましたが、多くのscheme implemetationがあります。どのスキーム実装がC/C++プログラムに組み込むのが最も簡単ですか?

答えて

6

埋め込みのために作られたスキームがたくさんあります。

  • Chibiを、それはGNUの選択だと

非常に成熟したプロジェクトあるので小型かつ軽量に設計されており、

  • Guile標準新しいR7RSをサポートしているため:私は個人的に推薦する二つ2人のうち、Chibiはコードとメモリフットプリントを小さく保つために懸命に働いています。一方、Guileは提供される機能の点でより高度です。 ChibiだけがR7RSをサポートしていますが、Guileはそれに向けて努力していると私は信じています。

    他の偉大なスキームについては、Wikipedia's listing of Scheme implementationsをご覧ください。

  • +2

    お薦めいただきありがとうございます! Guileには、libgmp、libunistringなどのような多くの依存があります。それらは私のために冗長です。私はChibiSchemeを試してみることにしました。すぐに私のコンピュータでコンパイルされました。 – moligaloo

    +1

    ちびスキームは、WindowsのCygwinでのみコンパイルできますが、私のMinGWはそれをサポートできません。 – moligaloo

    3

    Biglooをお試しください。彼らのウェブサイトから:

    Biglooは、C(++)が通常必要なSchemeベースのプログラミングスタイルを有効にするという1つの目標に捧げられたSchemeの実装です。 Biglooは、伝統的なプログラミング言語によって通常提示される機能を提供することによってSchemeを実用的にしようと試みるが、Schemeおよび機能プログラミングによって提供されない。 BiglooはSchemeモジュールをコンパイルします。小さくて速いスタンドアロンのバイナリ実行可能ファイルを提供します。 Biglooは、SchemeとCプログラム間、SchemeとJavaプログラム間、SchemeとC#プログラム間の完全な接続を可能にします。

    私はCアプリケーションにスキームを組み込むための生産にうまく使用されていることがわかりました。 Biglooの主な利点は、完全にコンパイルされたスキームコードをサポートすることです。もちろん、それを必要に応じて解釈されたスキームコードと混在させることもできます。

    関連する問題