Code examples from “Haskell Session Types with (Almost) No Class”

(from Haskell’08)

The Haskell library is now available from hackage in the simple-sessions package. Several examples rely on the preprocessor from the ixdopp package.

The paper and slides from the talk are available as well.

Prototypes in other languages:

cs/SessionTypes.cs
Requires C# 3.0 for lambda; known to work with VS2008 and known to crash Mono gmcs 1.2.2.1’s type checker
java/SessionTypes.java
Requires Java >=1.5 for generics; known to work with Sun JDK 1.5.0_13
ocaml/session.mli and ocaml/session.ml
Known to work with OCaml 3.10.1, but should work with older versions
scala/SessionTypes.scala
Known to work with Scala 2.7.0-final
sml/session.sml
Some portions use SML/NJ-specific feature, indicated with a comment; the rest should be SML’97; known to work with SML/NJ v110.67 and Moscow ML 2.00.

Jesse Tov / 4 April 2008


Valid XHTML 1.1 Valid CSS!