Open3
Ribbon: 単体のScheme処理系にする準備

本来のRibbit( https://github.com/udem-dlteam/ribbit )から大分乖離してきたので、専用の名前"Ribbon"を振ることにした。Ribbitの"rib"構造はそのまま採用するので、Ribで始まる英単語にしようということで。
目標
- C++/Java/C#/Rustで動かす。Pythonとかシェルスクリプトも有っても良いかも。
- 可能な限り処理系依存のコードは小さく保ち、処理系の大半はSchemeで書く。
- 実用する。ゲームのエディタは全部これというかyuniで書き直したい。
- 効率はあんまり頑張らない。
AVR + PSRAMで動いたらかっこ良いけどちょっとそこに辿りつけるようなロードマップが引けない。。

string-append
と substring
が問題になる
何故か今ごろ
確かにどこ探しても実装が無いけどじゃぁ今までどうやってテスト通ってたんだ。。?
Ribbonというかyuniでは通常のSchemeとは違って文字列はimmutableにしようとしている。JavaScriptのような他所の言語がimmutableなので。

インタプリタの主要ロジックをライブラリに分離
(ribbon applet interp)
ライブラリでスクリプトのexpand等の面倒をみることにした。これでインタプリタの main に相当する部分は非常に簡単に。