既存の セッション型の実装 on Haskell
セッション型のような型は,関数型言語の型システムでは作れないのが普通だ.しかしながらセッション型の機能の一部を関数型言語で実現しようとする試みはいくつか存在する. つい最近では, Kiselyov, Peyton Jones, Shanの Fun with type functions のように,チャネルを1つに,スレッドを2つ限定した形での実装がある. 元々は Neubauer, Thiemann らの An implementation of session typesに端を発する. (私も似たようなものを書いて国内の研究会で発表したことがある.)
さらに Pucella, Tov の Haskell '08 の Haskell Session Types with (Almost) No Class,Sackmanらの Session Types in Haskell: Updating Message Passing for the 21st Century (論文) は,アノテーションを加えることで Haskell (Pucellaらの実装は C#, Java, OCaml, Scala, SMLでも!) 上にセッション型のフル実装を実現している. これらは Hackageでも提供されており, cabal install 一発でインストールできる.