| 目次 | .... 3 | |
| はじめに | .... 7 | |
| 第Ⅰ部 | 入門編 | .... 9 |
| 1 | 基礎 | .... 11 |
| 1.1 | 簡単なプログラムと実行モデル | .... 11 |
| 1.2 | 基本的な構文と条件分岐 | .... 16 |
| 2 | データ型 | .... 21 |
| 2.1 | 変数の取り扱い | .... 21 |
| 2.2 | KL1で扱えるデータ型 | .... 22 |
| 3 | 繰り返し制御 | .... 31 |
| 3.1 | カウンタを用いた繰り返し | .... 31 |
| 3.2 | リストを用いた繰り返し | .... 33 |
| 4 | ユニフィケーションと同期制御 | .... 35 |
| 4.1 | ユニフィケーションとは | .... 35 |
| 4.2 | ボディユニフィケーション | .... 36 |
| 4.3 | ガードユニフィケーションと中断機構 | .... 37 |
| 4.4 | 同期制御の基礎知識 | .... 41 |
| 4.5 | 同期制御を応用したプログラム例 | .... 42 |
| 5 | プロセス | .... 45 |
| 5.1 | notプロセス | .... 45 |
| 5.2 | 中断機構 | .... 46 |
| 5.3 | stackプロセス | .... 48 |
| 5.4 | queueプロセス | .... 49 |
| 5.5 | mergeプロセス | .... 51 |
| 6 | 入門編練習問題 | .... 55 |
| 6.1 | DOループ | .... 55 |
| 6.2 | 総和を求める | .... 55 |
| 6.3 | リスト要素の並べ変え | .... 55 |
| 6.4 | 2つのリストの結合 (append) | .... 56 |
| 6.5 | フィボナッチ数列を書いてみよう | .... 56 |
| 6.6 | 簡単な入出力機能の使い方 | .... 56 |
| 6.7 | 整数生成プログラム | .... 57 |
| 6.8 | ストリームの圧縮 | .... 57 |
| 6.9 | 行列の掛け算 | .... 57 |
| 7 | 入門編練習問題の解答 | .... 59 |
| 7.1 | DOループ | .... 59 |
| 7.2 | 総和を求める | .... 60 |
| 7.3 | リスト要素の並べ変え | .... 60 |
| 7.4 | 2つのリストの結合 (append) | .... 60 |
| 7.5 | フィボナッチ数列を書いてみよう | .... 61 |
| 7.6 | 整数生成プログラム | .... 62 |
| 7.7 | ストリームの圧縮 | .... 62 |
| 7.8 | 行列の掛け算 | .... 63 |
| 第II部 | 初級編 | .... 65 |
| 8 | プロセスを利用したプログラム例 | .... 67 |
| 8.1 | クイックソートプログラム | .... 67 |
| 8.2 | 最適経路問題プログラム | .... 69 |
| 9 | 節の選択 | .... 75 |
| 9.1 | ガードの組込み述語 | .... 75 |
| 9.2 | Otherwise | .... 77 |
| 9.3 | Alternatively | .... 78 |
| 10 | 組込みデータ型の操作 | .... 81 |
| 10.1 | 整数演算 | .... 81 |
| 10.2 | ストリーム操作 | .... 82 |
| 10.3 | ストリング(文字列)操作 | .... 83 |
| 10.4 | ベクタ操作 | .... 86 |
| 11 | 実行の制御 | .... 93 |
| 11.1 | 優先度制御の目的 | .... 93 |
| 11.2 | 優先度の指定方法 | .... 94 |
| 11.3 | 優先度制御を応用したプログラム例 | .... 95 |
| 11.4 | 負荷分散制御の目的と考え方 | .... 99 |
| 11.5 | 負荷分散の指定方法 | .... 100 |
| 11.6 | 負荷分散制御を応用したプログラム | .... 104 |
| 12 | 初級編練習問題 | .... 115 |
| 12.1 | ストリング操作 | .... 115 |
| 12.2 | ベクタ操作 | .... 115 |
| 12.3 | n次元配列 | .... 115 |
| 12.4 | 探索問題をベクタを使って書いてみよう | .... 115 |
| 12.5 | 8クイーンを高速化してみよう | .... 115 |
| 12.6 | 8クイーンの負荷分散方式を変えてみよう | .... 115 |
| 13 | 初級編練習問題の解答 | .... 117 |
| 13.1 | ストリング操作 | .... 117 |
| 13.2 | ベクタ操作 | .... 119 |
| 13.3 | n次元配列 | .... 122 |
| 第III部 | 中級編 | .... 127 |
| 14 | 荘園機能とその使い方 | .... 129 |
| 14.1 | 機能の概略 | .... 129 |
| 14.2 | 使い方の注意 | .... 131 |
| 15 | プログラミングテクニック(1) | .... 137 |
| 15.1 | 計算の終了の判定 | .... 137 |
| 15.2 | 優先度制御の応用 | .... 142 |
| 15.3 | ストリーム通信あれこれ | .... 157 |
| 16 | プログラミングテクニック(2) | .... 161 |
| 16.1 | 要求駆動型プログラミング | .... 161 |
| 16.2 | バッファリング | .... 163 |
| 16.3 | 単一参照 | .... 169 |
| 付録A | PDSSの使い方 | .... 175 |
| 参考文献 | .... 179 |
ICOT研究速報(TM)一覧に戻る / Back to the list of ICOT Technical Memoranda