jon.recoil.org

Module Shape.DeBruijn_indexSource

We use de Bruijn indices for some binders in Shape.t below to increase sharing. That is, de Bruijn indices ensure that alpha-equivalent terms are actually equal. This reduces redundancy when we emit shape information into the debug information in later stages of the compiler (see dwarf_type.ml), since equal shapes produce the same debug information.

Sourcetype t
Sourceval create : int -> t
Sourceval move_under_binder : t -> t
Sourceval equal : t -> t -> bool
Sourceval print : Format.formatter -> t -> unit