quangis / transforge

Describe processes as type transformations, with inference that supports subtypes and parametric polymorphism. Create and query corresponding transformation graphs.
GNU General Public License v3.0
2 stars 0 forks source link

Guard for normalized type instances #75

Open nsbgn opened 2 years ago

nsbgn commented 2 years ago

For some purposes (e.g. hashing/indexing), we expect a normalized type instance, e.g. a type instance where all variables are followed to their bindings. This is described in the comments, but not made explicit in the code or communicated to the type checker. Use NewType and TypeGuards to make NormalTypeInstances to enforce it.

nsbgn commented 2 years ago

Same goes for ConcreteTypeInstance, for types that contain no variables at all.