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.