Buho No.216 目次

Visual わいたくん ツクール

概要説明

-1ParaGRAPH


(企画参加者=TACT,-1ParaGRAPH,わいりー(わいたくん))

0. 「わいたくん」とは?

今年の TSG 副部長の愛称です。みんなの人気者です。TSG のお部屋で呼んで みましょう。

この Visual わいたくんツクール(以降,Visual YTATMと省略)は, 彼を仮想的に着せ替えしてしまうプログラムを作るための開発環境です。 わいたくんをビジュアル系に着せ替えしてしまおうというのが,本作戦の概要です。 1

……なんのことだか(^_^;;)

1. Visual YTATM

Visual YTATM は,本プロジェクトのために作成した Visual SchemeTM 上で動作します。

Scheme とは主に理学系で使用されるプログラミング言語です。 Lisp 系の言語ですので仕様は美しいのですが, いかんせん実用プログラムを作るのには向きません。 その Scheme にわざわざ Windows API を使用するための 怪しげな拡張をしてゲームを作ろうというのが Visual SchemeTM です。

実はそういう怪しげな拡張をした Scheme の処理系は既にいろいろあるのですが, 製品だったりユーザインタフェースがちゃちかったりして 使えるものはありませんでした。 そこで,新たに作成することにしました。

1. Visual SchemeTM

実は Visual SchemeTM を作るのが当初の目的でした。 TSG 部員が多く進学する東京大学理学部情報科学科(略称 "is")では, 学部に進学して最初にこの Scheme を体得させられます。 Scheme は一般世界で通常使用される言語とはパラダイムが異なり とっつきにくい上に,授業で使用する開発環境があまりにしょぼくて (パーソナルコンピュータでいうと十年前に相当するくらいだめだめな環境) 苦労します。 2 そのため先進的で使いやすいユーザインタフェースを実装した Scheme 開発環境を 作ろうと発案したのです。

実は多くの Scheme インタプリタでは (Lisp 系はもともとインタプリタ型言語です) ステップ実行(命令ごとに一時停止しながら実行していくこと)すらできません。 こんな状況が許されてよいのでしょうか? Visual SchemeTMは 「関数の引数を評価する前」「引数を評価したあと」「関数から帰ってきたとき」の タイミングで停止することができますし, 任意の場所にブレークポイントを設定することができます。 評価した引数を関数実行前に表示することもできます。

また,開発環境のエディタは Scheme に対応したスクリーンエディタです。 キーワードの色分け表示や自動インデントはもちろん, 現在の括弧レベルの強調表示なんかも当然できます。 欠点は,ちょっと重いことぐらいです :D

Scheme インタプリタの核には, TACT 氏が拾ってきた "kawa" というインタプリタが使用されています。 これを TACT 氏が解析して GUI やデバッガインタフェースを作り, -1ParaGRAPH が作ったエディタコントロールを貼りつけてできあがりです。

解説がよくわからないと思いますので,詳しくはお近くの TSG 部員まで。


1) 【編註】部報第214号22ページ,ぽろさんの自己アピールカード参照。305ヴィジュアル化計画の一環。(ゃゃ嘘)
2) 【編註】ていうか,そんな繁雑なプログラムを Scheme で,しかもシンボルを追いかけながらデバッグしなきゃいけないほど行き当りばったりで書くようなことは,普通しません。(授業ではするけど)

今野 俊一 (こんの, knn) <toknn@ijk.com>, <knn@ebony.plala.or.jp>
東京大学 工学部 計数工学科(内定), TSG(理論科学グループ)