発表タイトル:
R5RS 完全準拠 JVM 日本語 Scheme インタプリタ 「Gino(仮)」
R5RS full-compatible JVM Japanese Scheme interpreter “Gino (temporary name)”
発表概要:
Gino(仮) は JVM (Java仮想マシン) 上で動作する R5RS に完全準拠した日本語対応の
Scheme インタプリタです.独自のオブジェクト設計に基づき,Pure Java を用いて 0
から実装しました.
主な特徴:
- JVM 上で動作する Scheme インタプリタ:
ハードウェアや OS に依存せず (スパコンからケータイまで) さまざまな環境に
おいて同じインタプリタ上で Scheme コードを同じように走らせることができます. - R5RS に完全準拠:
静的スコープ,末尾再帰呼び出し最適化,quasiquote/unquote,継続,マクロなど
実装済みです. - JVM の内部 Unicode を使用し,現時点で英語および日本語ロケールに対応:
日本語ロケールではシンボルや文字列に日本語が使え,メッセージもすべて日本語
表示します.他言語にも対応可能です. - 無限桁整数,分数,浮動小数点数,複素数の数値データが使用可能:
- 入出力ポートとしてファイルと同様にネットワークポートも指定可能:
概略について述べたあと,実際に小型 PC 上で Scheme コードを走らせてお見せします.
Gino (temporary name) is an R5RS full-compatible Japanese Scheme interpreter
which runs on the JVM (Java Virtual Machine). It is based on a unique Object
design and implemented with Pure Java from scratch.
main features:
- A Scheme interpreter running on the JVM:
You can run your Scheme codes similarly on the same interpreter in various environments (from super computers to cellular phones) independent of hardwares and operating systems. - Fully compatible with R5RS:
Lexical scope, optimization for tail recursive calls, quasiquote/unquote, continuations, macros, and so on, are fully implemented. - Currently implemented for English and Japanese locales through the JVM internal Unicode:
For Japanese locale, you can use Japanese characters in symbols and strings, and the messages are all shown in Japanese. Potentially implementable for other locales. - Arbitrary-precision integers, rational numbers, floating point numbers, and complex numbers are available for the numerical data:
- Network ports as well as files can be specified for input/output ports:
After talking about the outline, a short demonstration will be performed,
running some Scheme codes on a small PC.