hashc
hashc copied to clipboard
The Hash programming language compiler :zap:
At any point after inferring a node, there should be a hook for potential extra checks/modifications/rewrites. For example, baking literals, but also various other canonical rewritings.
- `TypeOf` can be in the prelude - `Cast`, `Index`, `Deref` can be implemented as intrinsics. - `ArrayTy` can be a first-class variant of `Term`. - `Loop`, `Return`, `LoopControl`, `Assign`...
Currently, the unification algorithm is incomplete. This should be completed, by weak head normalisation. This requires some changes to the normalisation algorithm to not "simplify too deep"