プログラミング言語特論(2006年度)
2006年度 後期木曜日 3コマ
担当 香川考司
対象 大学院(工学研究科・RISE)
工学研究科・プログラミング言語特論のホームページです。
受講者はこのページを随時チェックするようにしてください。
連絡事項
- 期末テスト(02/08)も4301ではなくACECで実施します。
2/1の最後の授業の時には以下のように伝えましたが、
-
前半持込み可の時には GHCをインストールした
ノートPCを持参して下さい。
前半(持込み可・ノートPCを用いた試験) 30分程度、
後半(持込み不可・ペーパーテスト) 60分程度の予定です。
以下のように変更します。(02/05)
-
GHCをインストールしたノートPCを持参して下さい。
前半(プリント・参考書・ノート・ノートPC持込み可)ノートPCを用いた試験 30分程度
後半(プリント・参考書・ノート持込み可、ノートPC持込み不可)
ペーパーテスト 60分程度
30分+60分というのはというのは単なる目安で、
ノートPCを閉じた人からペーパーテストの問題を渡していきます。ペーパーテストの問題を受け取った人は、
それ以降はノートPCを使用することはできません。
-
なお、ノートPCを忘れたりしても、救済措置は取れません。
- Haskell 小クイズ(02/01)
- Haskell(のサブセット?)をオンラインで試すことにできる
Vital(英国 Kent大学)というページがあるようです。
誰か試してみて下さい。
- Haskellのプログラムの作成にNotepad++
というエディタが良さそうです。
-
ただしタブサイズ(「設定」—「Preferences」—「MISC」—「Tab size」)を
8に設定しておくことをお勧めします。
-
日本語を表示する時は「フォーマット」—「UTF-8 エンコード」を選択しておきます。
(新規に作成する時のみ表示可、
ShiftJISなどのエンコーディングの既存のファイルの日本語表示することはことはできないようです。)
- レポート2(02/15締切)
- レポート1(11/30締切)
- 10/26より教室をACECに変更しました。
配布物など
-
昨年(2005年)度テスト問題と解答の一部
-
プリント第8章
オブジェクト指向の導入(1/18 配布)
プリント第7章
接続の応用(1/11 配布)
プリント第7章のプログラム
プリント第6章
接続の導入(12/21 配布)
プリント第6章のプログラム
プリント第5章
非決定的な計算(12/14 配布)
プリント第5章のプログラム
- Tokugawa.pl(5.2 徳川家)
実行例: grandchild(X, ieyasu).
- Append.pl(5.4 リストの連接)
実行例: append([1, 2], [3, 4], X).
append(X, Y, [1, 2, 3]).
-
Install tuProlog via Java Web Start
Prolog処理系をWebページ上で試すことができます。(ボローニャ大学のページ)
- SWI Prolog w32pl5617.exe,
オリジナルサイト
-
NonDetParser.hs,
NonDetType.hs,
NonDet.hs(5.5 UtilNonDet),
NonDet.utl(同テストプログラム),
プリント第4章
命令型言語の意味の記述 (11/30 配布)
プリント第4章のプログラム
-
Token.hs(すべてのプログラムで使用,
2007/01/11更新),
-
Util0Parser.hs,
Util0Type.hs,
Util0.hs(4.1 Util0),
Util0.utl(同テストプログラム),
-
VarParser.hs,
VarType.hs,
Var.hs(4.4 UtilVar),
Var.utl(同テストプログラム),
-
FunParser.hs,
FunType.hs,
Fun.hs(4.7 UtilFun),
Fun.utl(同テストプログラム),
-
Fun2Parser.hs,
Fun2Type.hs,
Fun2.hs(4.7 UtilFun・和積をプリミティブ関数化),
Fun2.utl(同テストプログラム),
-
RecParser.hs,
RecType.hs,
Rec.hs(4.8 UtilRec),
Rec.utl(同テストプログラム)
-
ErrParser.hs,
ErrType.hs,
Err.hs(4.9 UtilErr),
Err.utl(同テストプログラム)
-
CatchParser.hs,
CatchType.hs,
Catch.hs(4.9 UtilErr ・try〜catchを追加)
Catch.utl(同テストプログラム)
-
STParser.hs,
STType.hs,
ST.hs(4.10 UtilST),
ST.utl(同テストプログラム),
-
IOParser.hs,
IOType.hs,
IO.hs(4.11 UtilIO),
IO.utl(同テストプログラム),
すべてのバージョンについて、
runとloadという関数が定義されています。
runは Util
のプログラムを文字列として直接受け取り、実行します。
loadはファイル名を受け取り、ファイルの中に書かれている
Utilのプログラムを実行します。
プログラムは随時改良される可能性があります。
- プリント第A章
Haskellのレイアウトルール (10/19配布)
- プリント第3章 関数型言語Haskell(10/19配布)
プリント第3章のプログラム
- プリント第2章 ラムダ計算(10/12配布)
- プリント第1章 プログラミング言語の意味とは(10/5配布)
インタラクティブなページ
リンク
Koji Kagawa