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