XS: Lego MindStorms用Lisp処理系
湯淺 太一 作
English
XSは,Lego MindStorms Robotics Invention System (RIS)の
RCXブロックを制御するために設計されたLisp処理系です.
XS Lisp は,Lego MindStorms用のプログラム開発のために現在提供されて
いるシステムのなかで,最も完成度が高く高性能なものの一つです.
-
XS実行系(evaluator)はRCX上で自律的に動作し,
自分自身の実行時スタックとごみ集めの対象となるヒープ領域を備えています.
-
パソコン側のフロントエンドサブシステムとの通信によって,
対話的にプログラム開発が行え,
バックトレース,関数トレース,端末機割り込みなどの機能が利用できます.
-
Lisp(Scheme)をベースにし,モータやセンサなどの
Legoデバイスを制御する機能を追加したプログラミング言語が利用できます.
-
XSの言語はさらに,イベント待ちや非同期イベントハンドラといった
ロボット制御に役立つ機能も備えています.
XSは現在,Mozilla Public License (MPL)の下で,
オープンソースのソフトウェアとして配布されており,
次のプラットフォーム上で動作します.
-
Windows XP(RCX 1.0, 1.5, 2.0)
-
RedHat,Debian,およびFedora Core Linux(RCX 1.0, 1.5, 2.0)
次のものがダウンロード可能です.
XSがうまく使えないときは,
FAQを御覧ください.
最近の話題:
-
Lego MindStorms NXTでもLispが使えるようになりました.
(2007/08/11):
平石拓(ひらいしたすく)君が開発したシステムで,
これを使うと,Allegro Common LispからNXTが制御できるようになります.
詳細は
こちら
へどうぞ.
-
XSのフロントエンド処理系がサブプロセスをforkできるようになりました.
(2006/11/03):
新しい最上位形式のforkを使うと,サブプロセスを生成し,指定した
Linuxプログラムを実行することができます.
XSの入出力関数(readやwrite)にポート番号を指定することによって,
XSプログラムがこれらのサブプロセスと交信できるようになりました.
詳しくはマニュアルをご覧ください.
-
末尾再帰処理の不具合を修正しました (2006/10/26):
let,let*,letrec式の中で関数を末尾再帰的に呼び出すと,
正しく最適化されないことがありました.
-
日本語のリファレンスマニュアルができました (2006/10/20):
この現在のページからダウンロードできます.
-
Linux PC でも USB tower が使えるようになりました (2005/03/18):
設定ガイドの改訂版を御覧ください.
Copyright 2003, Taiichi Yuasa
XS のプロジェクトは,情報処理推進機構(IPA)から,
平成15年度未踏ソフトウェア創造事業として支援を受けました.