始めよう Chicken Scheme

これはCHICKEN Schemeの導入メモです。
Chicken Schemeとは何か、どこが優れているのかなどは有志による日本語マニュアルに譲ります。
http://www.h7.dion.ne.jp/~samwyn/ChickenDoc/The%20User%27s%20Manual.html

Windows 7 導入編

まずCコンパイル環境を整えるためMinGW(20110316)をセットアップします。
MinGW - Minimalist GNU for Windows download | SourceForge.net
インストール時には

  • C Compiler(必須)
  • C++ Compiler(あるとよし)
  • MSYS Basic System(多分要る)
  • MinGW Developer Toolkit(使うかわからないが念のため)

のチェックを入れておきましょう

ダウンロードを待っている間にCHICKEN Schemeリリース版をダウンロードしてきます。
http://code.call-cc.org/
Cドライブにchickenフォルダを作ってその中に解凍したファイル群を投げ込みます。

次に環境変数を設定します。Windows7なら
スタートメニュー>envと打つ>環境変数を編集
でいけます。
「ユーザー環境変数」の Path を選んで編集し、; 区切りになるように C:\MinGW\bin\ を追加します。
僕の場合はこうなりました。

C:\Program Files\Subversion\bin;C:\Python27;C:\Python27\django-trunk;C:\MinGW\bin\

スタートメニュー>cmdと打つ>cmd
mingw32-make -v
を試してみてGNU makeのバージョンが表示されたら環境変数の設定は成功です。

いよいよCHICKENをインストールします。下のようにインストールします。

C:\Users\moondial>mingw32-make -v
GNU Make 3.82
Built for i386-pc-mingw32
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org
This is free software: you are free to change and redistri
There is NO WARRANTY, to the extent permitted by law.

C:\Users\moondial>cd C:\chicken

C:\chicken>mingw32-make PLATFORM=mingw PREFIX=C:/mingw
...中略...
C:\chicken>mingw32-make PLATFORM=mingw PREFIX=c:/mingw install
...中略...
C:\chicken>csc -V
(c)2008-2010 The Chicken Team
(c)2000-2007 Felix L. Winkelmann
Version 4.7.0
windows-mingw32-x86 [ manyargs dload ptables ]
compiled 2011/05/06  on moondial (MinGW)

Enter `chicken -help' for information on how to use the compiler,
or try `csc' for a more convenient interface.

Run `csi' to start the interactive interpreter.

C:\chicken>exit

これでいつでもCHICKENに会えます。

Ubuntu Linux 11.4 導入編

Windowsより簡単です。
CHICKENリリース版をホームディレクトリに解凍したあとターミナルから

cd chicken-4.7.0/
make PLATFORM=linux PREFIX=/usr
sudo make PLATFORM=linux PREFIX=/usr install

して、待つだけです。いやほんとに楽ちんですなー
アンインストールするときは

sudo make PLATFORM=linux PREFIX=/usr uninstall
make PLATFORM=linux confclean

でいいようです。実はパッケージがあるので

sudo apt-get install chicken-bin

でもいけるらしいのですがバージョン調べるのが面倒だったので以下略…
CHICKENはこの設定だと /usr/bin/ 以下にインストールされます。

Hello, World!をテストしてみる

(print "Hello, World!")

をホームディレクトリにhello.scmという名前で作って

cd ~
scs hello.scm

するとSchemeコードがCソースコードへ変換され、コンパイルとリンクまでが行われて実行ファイルhelloが生成されます。

./hello

で実行。とても親切でいいですね。
詳しい使い方は日本語マニュアルの「コンパイラの使い方」にまとまっています。
性能、移植性だけでなくドキュメントも整備されているCHICKENはすごいです。

三者モジュール Egg をインストールする

gemsみたいなものですが名称がPythonと一緒ですね。
利用できるEggsの一覧は
Eggs Unlimited (release branch 4)
にあります。ここでは sqlite3 をインストール。

sudo chicken-install sqlite3

依存関係の解決でおまけがたくさんついてきました。

("setup-helper"
 "check-errors"
 "synch"
 "miscmacros"
 "matchable"
 "sql-null"
 "sqlite3")

ちなみに

sudo apt-get install libsqlite3-dev

しておかないと

sqlite3.c:13:21: fatal error: sqlite3.h: そのようなファイルやディレクトリはありません
compilation terminated.

と怒られます。

インストールがうまくいったので、早くCHICKENでなにか作ってみたいです。

つづき

H23.5.15: Qtがきちんとインストールできるように一部コマンドを修正。

#チラ裏
#実際は無線LANの調子がいまいち不安定だったので最初ちょっと手間取りました。
#あと最近は母の調子がよくないので夕飯作りをちょっと手伝ったりとかもあった。