You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: Use an enum type for primitive definitions
This makes our primitives system more elegant and robust.
The core problem with the old approach was that because primitive definitions and their semantics were only tied together by strings, utilising them could often result in partial functions being necessary in awkward places. This would have become clear in upcoming work to build our prelude library.
A side effect needed to make this work is that the types of primitive definitions no longer contain metadata. As can be seen in this commit, this has very few knock-on effects: seeing as a user can't manipulate these types, we never did anythin interesting with the metadata anyway. Indeed, some code becomes cleaner as a result.
We also remove some tests of behaviour which is nowz correct by construction.
0 commit comments