zippy/ceptr

add support for semantic ENUM type

Opened this issue · 0 comments

zippy commented

currently we've been faking enums by creating a symbols as usages of the NULL_STRUCTRE, i.e. surface-less Symbols. This is effectively a singleton enum in that it creates a unit of non-variant semantics.

For example we have three items TRANSCODE, OPERATOR and VALIDATOR which are used to semantically identify a process type. These should actually be items of an ENUM type because their meaning comes from being part of a set.

Additionally this would allow adding transcoders onto enum types, i.e. to convert them into error codes, or error strings in "old-fashioned" carriers. This way we can implement things HTTP_STATUS codes nicely.

Perhaps we should not call this "ENUM" but rather SEMANTIC_SET or something like that.