Module Alpha

type 'a undoAlphaElement
type 'a alphaTableData
val newAlphaName : alphaTable:(string, 'a alphaTableData Stdlib.ref) Stdlib.Hashtbl.t -> undolist:'a undoAlphaElement list Stdlib.ref option -> lookupname:string -> data:'a -> string * 'a
val registerAlphaName : alphaTable:(string, 'a alphaTableData Stdlib.ref) Stdlib.Hashtbl.t -> undolist:'a undoAlphaElement list Stdlib.ref option -> lookupname:string -> data:'a -> unit
val docAlphaTable : unit -> (string, 'a alphaTableData Stdlib.ref) Stdlib.Hashtbl.t -> Pretty.doc
val getAlphaPrefix : lookupname:string -> string
val undoAlphaChanges : alphaTable:(string, 'a alphaTableData Stdlib.ref) Stdlib.Hashtbl.t -> undolist:'a undoAlphaElement list -> unit