Pastalablog in はてな

時代はブログ! 日記もあるよ→http://pastak-diary.hatenadiary.com

Schemeを実行するChrome拡張「chroscheme」を作った

jsScheme - Scheme interpreter in JavaScriptというサイトがある。
このページではSchemeをブラウザ上で実行できる。
どういうことかというと、つまりはScheme処理系がJavaScriptで実装されてる。
GPLライセンスで自由に使って良いとのことだったので、一部だけ手を加えて、Chrome拡張に移植した。

授業でちょうど今、『計算機プログラムの構造と解釈』(Structure and Interpretation of Computer Programs)を読んでて、英語版はリンク先で全部公開されてるから、これを読んでるとSICPにサンプルコードを見つけると、自分の場合はそれをコピーしてVimに貼り付けて実行するとか、大体の人なら授業指定の処理系Jakldに貼り付けたりして実行している。
学習的には丁寧に写経したりするんだろうけど、どう動くかとか、数字変えたらどうなるかとか、そういうのするにはJakldとかに貼るのはちょっと不便な感じもある。
そもそもコピペが手間。

そこでさっきのサイトの処理系をGoogle Chrome拡張で利用できるようにした。
https://github.com/pastak/chroscheme

追記:Chrome Web Storeに載せました。ここからダウンロードするとアップデートもされるし便利

https://chrome.google.com/webstore/detail/chroscheme/phjmhmnadabpccnocbkiafljcjajbmjf

ブラウザ内で文字列を選択している状態でポップアップを開くと選択文字列をSchemeのコードとして処理して結果を出力する。
そのままテキストエリアに自動で挿入されるので、テキストエリアを編集することで、数字を変えたりして再実行が出来る。

便利にご利用ください。

追記:バージョンアップ情報

  • Version 0.1.5 (2013/10/30)
    • テキストエリアのフォントサイズの変更用のセレクトボックスを追加
  • Version 0.2.0 (2013/10/30)
    • ポップアップを閉じる前のテキストエリアの状態を保存