Java EE勉強会
- 6章と7章
- timerの周期実行は直列実行の分、遅れていく
- いろいろあるよ、ってことで
- いたれりつくせり by koichikさん
GHC(Guarded Horn Clauses)by koichikさん
- HaskellのGHCじゃないよ
- 第5世代コンピュータプロジェクトで開発されたKL1の基になったもの
- Prologの特徴の一つが逐次性。GHCは並行処理のために逐次性を排除。選択した節が失敗した場合はやり直さない。ただこれだとどの節を選択するのかが重要になる。そこで導入されたのがガード。GHC=ガード付きのホーン節
- ヘッド:-ガード|ボディ
- ガードが真になる節のみが選択される
- ガードの実行に必要な変数が具体化されるまでは待機
- 海外で「エレガント」との評価
- 個々の処理は内部で並行処理できなくてもパイプでつなぐとそれぞれが並行に実行
- エラストテネスのふるいみたいにどんどん処理が増えていく場合だとわかりやすい。ただし、データ移動のコストのほうが大きいので、実際には高速化しない可能性大。クイックソートみたいに各処理の独立性が高ければ有効か?
- 処理系としてはKL1からCへのトランスレータであるKLICがある。ただし逐次処理系
- koichikさんがJava上の処理系を作るつもりだとのこと。処理速度は度外視して実際に並行処理を行うようにするとか