Navigation

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