Module Genarg.RegisterSource

Warning: although the following APIs use genarg_type the values must always be ExtraArg some_tag.

Parameters

module M : GenObj

Signature

Sourceval register0 : ('raw, 'glb, 'top) genarg_type -> ('raw, 'glb, 'top) M.obj -> unit

Register a ground type manipulation function. Must be ExtraArg.

Sourceval obj : ('raw, 'glb, 'top) genarg_type -> ('raw, 'glb, 'top) M.obj

Recover a manipulation function at a given type. Must be ExtraArg.

Sourceval mem : (_, _, _) genarg_type -> bool

Is this type registered? (must be ExtraArg)

Sourceval fold_keys : (ArgT.any -> 'acc -> 'acc) -> 'acc -> 'acc

Fold over the registered keys.