OCamlでScheme
SchocaというOcamlで書かれたScehmeインタプリタがあるので、使ってみる。
GODIを使えば簡単にインストールできる。
どうやら、ちゃんとしたドキュメントはなく、examples/にある例をよめ、ということらしい。
で、その例を読んだところ、
- Schemeのデータ型はScmTypes.string_of_datumで文字列に換えれる
- 環境はScmEval.init_environmentで作れる
- 変数とかを追加できるみたいだが、詳しくは不明
- ScmSchoca.parse_stringで実行できる
といったところ。
というわけで、動作させるためのコードはこんな感じになる。
#use "topfind";; #require "schoca";; let scheme_code = "(display \"Hello,World!!\")(newline)";; let run code = let env = ScmEval.init_environment () in ScmSchoca.parse_string env code;; let main () = print_string (ScmTypes.string_of_datum (run scheme_code));;