Scheme演習
このページは東京大学理学部情報科学科 2年生 の「Scheme演習」の講義用ウェブサイトです.(担当: 原 謙治)
下記の資料について改変・再配布の自由を認めます
- 成績について
- Schemeの成績はレポートのみ(出席は取らない)
- レポートは完全にできていなくても提出できた分をそれなりに評価する
- 課題について
- 提出は hara2001-scheme @ ui.is.s.u-tokyo.ac.jp へメールで送ってください
- 送信されたE-mailに対して自動的に返信メールが送られます
- 添付ファイルではなくメール本文に直接貼ってください
(ただしどうしても文字化けしてしまう人はテキストファイルを添付してください)
- Subjectは "Report (課題番号) 学生証番号" で送ってください
例: Report (1) 123456
- 課題の本文の先頭に
Scheme演習 第1回レポート
理科I類2年 123456 須木 異夢
という形式で名前等を書いてください
- 締め切りは次のScheme演習の前日
- 授業で出題する前に課題を提出してもかまいません (質問も受け付けます)
- 締切を過ぎたレポートも2月末日までは受け付けます
- わからない課題についてはどうわからないかを記述してください
- 課題の提出意図を意識した考察をしてください
- レポートから伝わる理解の度合いと締切の前後のみで評価します
- 質問等について
-
hara2001-scheme-ml @ ui.is.s.u-tokyo.ac.jp
-
Scheme演習用メーリングリスト。普通の質問はこちらへ。
答えられる人は答えてあげてください。
-
hara2001-scheme-query @ ui.is.s.u-tokyo.ac.jp
-
Scheme演習質問用アドレス。
メーリグリストに質問投げるのはちょっとという場合はこちらへ。
- 関連サイト
- R5RS
- Schemeの第5改訂版仕様書. Schemeの関数や文法を調べる際に参照すると良い
- R4RS
- Schemeの第4改訂版仕様書. Schemeの関数や文法を調べる際に参照すると良い
- GTEdit
- 視覚的にSchemeプログラミングができるツール.
-
括弧を書かなくて良い(書いても良い)
-
プログラムの構造が見やすい
-
キーボードのみで操作できる
-
2003年度TA原 謙治の卒論
といった特徴がある
- SLIB
(ドキュメント,
インストール方法)
- Schemeのライブラリ群。かなり便利。
対応処理系は
Bigloo, Chez, ELK 2.1, GAMBIT, Guile, MacScheme, MITScheme,
PLT Scheme (DrScheme and MzScheme), Pocket Scheme, RScheme,
scheme->C, Scheme48, SCM, SCM Mac, scsh, Stk, T3.1, umb-scheme, and VSCM
と書いてある。
なおGaucheも対応している。
使い方は処理系によって異なる
-
SRFI
(Scheme Request For Implementation)
(日本語訳)
- 言語仕様の外で、作られた実用的なライブラリ群。実用プログラムを書くにはSRFIかSLIBは必要。
-
Practical Scheme
-
Schemeについての面白い文書が多数あります.
Schemeで事業に成功した話, 人気の言語を作るには 等.
-
おすすめ処理系
- Chez Scheme
-
読み方は"シェ・スキーム(仏語: Schemeの家で)"
インタプリタ(Petite Chez Scheme)は無料(コンパイラは有料)。
Windowsでインストールするのが簡単
起動コマンドは
> petite
或いは
> petite.bat (cygwinの場合)
- Gauche
(リファレンスマニュアル)
-
読み方は"ゴーシュ"
本気でSchemeを使うならこれがオススメ。
SRFIもSLIBも使える。(ただしSLIBは別途インストール。というか普通はslibディレクトリを/usr/local/に置くだけ)
スクリプトインタプリタとしての使い勝手を追求した、 R5RS準拠のScheme処理系です。
起動が速いこと、システムへのアクセスが組み込まれていること、 最初から多国語対応を考慮していること、
リスト処理ライブラリとして他のC/C++プログラムから 簡単にリンク可能であること、 などを目標としています。
ECCでの起動コマンドは
> ~rr36125/gauche/bin/gosh
SLIBの使い方は
gosh> (use slib)
SRFIの使い方は
gosh> (use srfi-1)
等
- Guile
- 大概のUNIX系OSにはインストールされている。GNUのSchemeの実装。
ECCでの起動コマンドは
> guile
SLIBの使い方は
guile> (set! %load-path (cons "/home/rr36125/lib" %load-path))
guile> (use-modules (ice-9 slib))
- Gambit Scheme
-
代々この演習で使われてきた処理系。R4RS準拠。