HM demonstration


This is a demo of the HM type system. Code on the left panel is type checked and on the left panel valid types and type unification errors are shown.

The demo implements a frontend for OCaml syntax. It supports type declaration, ADT definition, top level let statements, and pattern matching. Note that it does not support list/string indexing, records nested pattern matching and modules.

Some basic standard library functions for booleans, strings, lists, integers are pre-defined. We provide slightly relaxed OCaml syntax for declaring function signatures as needed.

Some examples from the manuscript might report slightly different errors here because of changed formatting and layout design.