FORK

The FORK calculus is a version of system F-Omega with (certain) Recursive Kinds.
This calculus is sufficiently expressive to permit a type-safe encoding of general
references. Both the calculus and this encoding are described in this
paper.

This archive contains the OCaml
source code for the FORK type-checker, as well as the FORK code for the encoding of references.
It also contains a Coq proof that the encoding is semantics-preserving.

This archive contains
the Coq source code for a formalization of a
type system by Hiroshi Nakano which the
definition of FORK builds upon. The formalization contains a proof
of subject reduction, a construction of the realizability model
that allows proving that a well-typed term admits a head normal
form, as well as a novel algorithm for deciding whether two types
are in the subtyping relation. It is currently in a somewhat
rough state. It is made available as a complement to the FORK
paper.