Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is analogous to record (or definition or binding) punning where one can write e.g. x = 1; y = 2; xy = {x; y}; ;; same as {x = x; y = y} Now that notation also exists for declarations. This is motivated by the upcoming intersection like signature combination operator `&`. Consider a `MAP` signature: type MAP = { type t _; Key: ORD; ;; ... }; With the declaration punning notation and intersection like combination, one could write Map (Key: ORD) :> MAP & {Key} = ;; ... to refine the `MAP` signature.
- Loading branch information