Practical Scheme

プロダクション環境におけるScheme/Lispの利用事例

これまでに私が業務で実際に作成したり使用したScheme/CommonLispアプリケーションです。

CommonLispによる自社開発オブジェクト指向データベース

Franz Inc.の AllegroStoreを利用して、150人規模のCGプロダクションにて CGデータの追跡及びレンダリング情報の収集を行うデータベースサーバを運用しています。 サーバープロセスをCommonLispで書き、クライアントとしてはPerlを 用いたCGIとUnixコマンド群、及びVisualBasicを用いたPCアプリケーション が利用されています。必要とされるトランザクションはさほど多くなく、 普段は平均20,000trans./day程度で、締切前のピークでも 400,000trans./dayくらいです。パフォーマンスよりも柔軟性を重視して OODBを導入しました。

Schemeによるwebベースのスケジューリングシステム

STkでCGIと簡易OODBを実装し、スタッフや会議室のスケジュール管理に 使っています。100人超のスタッフのミーティングや出張スケジュールを Webベースで閲覧・更新するシステムです。 もともとは上記のプロダクショントラッキングシステムの プロトタイプとして作成したものです。

文書のツリー構造をSchemeで保持しておいてHTMLを吐き出す、なんて ライブラリも作り、当初はCGI関係をSchemeでまとめてしまうつもりだったのですが、 毎日仕様変更のリクエストがあるような環境ではPerlでべたべたにコーディングした方が 速いということに気付き、実現には至っていません。

リアルタイムCGシステムのスクリプティング言語

グラフィックワークステーションやコンソールゲーム機に Schemeを移植し、3次元コンピュータグラフィクスのリアルタイムプレイバック のセットアップ言語として使用しています。プレステ2上でもSchemeが走ってます。

Scheme (STk) によるGUIベースのファイル管理ツール

同僚が開発したツールで、基本はディレクトリツリーを表示してファイル管理 を行うものですが、CGプロダクション向けに大量のイメージファイル等を 一括して扱えるようになっており、CGアーティストから重宝されています。


Shiro Kawai
Last modified: Sat Jan 4 19:12:49 HST 2003