R6RS Scheme のパッケージシステム UCL Package を試す
R6RS Scheme のパッケージシステム UCL Package が登場したので試す。
UCL Package Repositoryに行き手順通りに進める。Mosh にも対応。ありがたい。
Bootstrap のインストール
一度やれば OK 。
% cd % cd src % wget http://ucl.willdonnelly.net/ucl-bootstrap.tar.gz % cp -r ucl-bootstrap ~/.site-scheme.site-scheme % source ~/.site-scheme/paths % sudo apt-get install libarchive-dev ## required!
パッケージのインストール
pregexp パッケージのインストールしてすぐ使ってみる。
% mosh mosh> (import (ucl install)) #<unspecified> mosh> (ucl-install 'pregexp) downloading http://ucl.willdonnelly.net/repo/.packages.gz caching 'http://ucl.willdonnelly.net/repo/pregexp-2009.5.8.tar.gz' installing package '/home/taro/.site-scheme/cache/pregexp-2009.5.8.tar.gz' installing file 'pregexp/main.sls' symlinking 'pregexp/main.sls' to 'pregexp.sls' mosh> (import (pregexp)) #<unspecified> mosh> (pregexp-split ":" "/bin:/usr/bin:/usr/bin/X11:/usr/local/bin") ("/bin" "/usr/bin" "/usr/bin/X11" "/usr/local/bin")
パッケージを作ってみる
自作の赤黒木のパッケージを作ってみよう。github に置いてある。http://github.com/higepon/Scheme-rbtrees
まずブランチ作る。
% git branch ucl % git checkout ucl
MANIFEST ファイルを書く。
(package rbtree) (version 0 0 1) (code "rbtree.sls") (author "Higepon(Taro Minowa)") (license New BSD) (synopsis "Red-Black tree") (description "Red-Black tree library for R6RS") (depends (srfi :48)) (schemes ikarus mosh ypsilon plt larceny)
tar.gz にしてみて
(ucl-install "rbtree-0.0.1.tar.gz")
簡単!。
雑感
主要な処理系に対応していてインストールも簡単。まだこなれていない部分もありエラーメッセージが不親切。
あとどうしても必要だと思う機能は
- インストール時の test
- 何らかのドキュメントを含む方法
かな。
せっかく試してみたのであとで c.l.s にフィードバックしよう。