Open jonhue opened 3 years ago
Allow refinement types to act as factory and be instantiated in different circumstances with varying parameters.
# define as type GreaterThan<a>(x :: a) := [y ~ a | y > x] # use as GreaterThan<Number>(5)
Can only be instantiated with literals.
Also allow instantiated parametric types on the right hand side.
depends on tony-lang/spec#16
Allow refinement types to act as factory and be instantiated in different circumstances with varying parameters.
Can only be instantiated with literals.
Also allow instantiated parametric types on the right hand side.