Module Common

module Fixed : sig ... end

This module defines the signatures and Make functors for the 'fixed point' (or two-level) type we use for our intermediate representations

module Foldable : sig ... end

This module follows the Jane Street organisation and naming conventions for 'standard interfaces' i.e. commonly used signatures; briefly:

module Gensym : sig ... end

Generate fresh (never before used) symbols.

module ICE : sig ... end

Internal compiler errors

module Pattern : sig ... end

A Pattern defines the signature of modules that may be fixed with Fixed.Make and Fixed.Make2.

module Pretty : sig ... end

Named signatures for types that can be pretty-printed.

module Specialized : sig ... end

This module defines signature and functors used to 'specialize' a fixed-point type that is polymorphic in the type of meta-data to a particular type of meta-data.