Registry
Surface elaborator registry operations.
empty
Empty surface elaboration registry.
Registry
emptyRegistry
Alias for the empty surface elaboration registry.
Registry
fromHandlers
Build a surface registry from an attrset of constructor-tag handlers.
{ tag : Handler } -> Registry
handlerFor
Alias for lookup.
Registry -> String -> Handler | Null
isRegistry
Predicate for surface elaboration registries.
Any -> Bool
lookup
Return the handler registered for a surface constructor tag, or null.
Registry -> String -> Handler | Null
merge
Merge two surface registries, rejecting duplicate constructor handlers.
Registry -> Registry -> Registry
node
Construct a surface AST node carrying its registry.
Registry -> String -> Attrs -> Hoas
normalize
Normalize nullable registry inputs to a registry record.
Registry | Null -> Registry
register
Register a handler for one surface constructor tag.
Registry -> String -> Handler -> Registry
withRegistry
Attach a surface elaboration registry to an existing node.
Registry -> Attrs -> Hoas