Registry
Surface elaborator registry operations.
empty
Empty surface elaboration registry.
RegistryemptyRegistry
Alias for the empty surface elaboration registry.
RegistryfromHandlers
Build a surface registry from an attrset of constructor-tag handlers.
{ tag : Handler } -> RegistryhandlerFor
Alias for lookup.
Registry -> String -> Handler | NullisRegistry
Predicate for surface elaboration registries.
Any -> Boollookup
Return the handler registered for a surface constructor tag, or null.
Registry -> String -> Handler | Nullmerge
Merge two surface registries, rejecting duplicate constructor handlers.
Registry -> Registry -> Registrynode
Construct a surface AST node carrying its registry.
Registry -> String -> Attrs -> Hoasnormalize
Normalize nullable registry inputs to a registry record.
Registry | Null -> Registryregister
Register a handler for one surface constructor tag.
Registry -> String -> Handler -> RegistrywithRegistry
Attach a surface elaboration registry to an existing node.
Registry -> Attrs -> Hoas