タグ

Networkとpi-calculusに関するnsyeeのブックマーク (3)

  • full-sessions-0.6.1 - keigoiの日記

    full-sessionsの新バージョン 0.6.1 を HackageDBにアップロード しました。 full-sessions は、Haskellにおけるマルチスレッド/ネットワークプログラミングのライブラリです。 Sessionモナドという新しいモナドを使ってプログラムを書きます。 チャネルの型表現にπ計算の型理論の一つであるセッション型を採用しています。セッション型のおかげで、チャネルの「使われ方(プロトコル)」がスレッド間で整合していることを実行前の型検査によりチェックできます。これにより、ある種のデッドロックや型の不整合は型検査で排除できるようになります。 さらにHaskellの型推論でセッション型を推論させれば、プログラムがチャネルを意図通りに使っていることを型表現からチェックできます。 full-sessions は、HList等で見られるような型レベルプログラミングのテク

    full-sessions-0.6.1 - keigoiの日記
  • セッション型 on Haskell - keigoiの日記

    セッション型は プロトコルを表現する型で, 15年くらい前から π計算の型理論の1つとして研究されてきました(文献リスト(一部)).並行・分散ソフトウェアの普及を鑑みるに,セッション型のような仕組みは次世代の型安全かつ表現力の高いプログラミングのための強力なツールとして役に立つと考えます. しかしその直観的なわかりやすさにも関わらず,セッション型を提供しているプログラミング言語は皆無(おそらく…)です. そこで,今 流行(?)の型レベル計算を駆使して Haskell にセッション型を導入してみました. ダウンロード 晒してみる. まだ α版 full-sessions ダウンロードページへ test.hs を ghci でロードしてください いくつかの関数は 型を見たり runS で走らせたりできます. test.hs の一部で ixdo 記法を使っているので, cabal install

    セッション型 on Haskell - keigoiの日記
  • PiMonad - a network programming framework based on Pi-Calculus

    PiMonad - a network programming framework based on Pi-Calculus What is PiMonad? PiMonad is a library for functional programming language Haskell. Points are : Lightweight implementation of the Pi-Calculus, a process algebra with channel-passing feature. Network programming framework equipped with channel-passing feature. (Future work) Design with Pi-Calculus, verify it, then implement it with PiMo

  • 1