Skip to content

1.9.0

Latest

Choose a tag to compare

@joeldrapper joeldrapper released this 24 Feb 11:25
· 12 commits to main since this release
556adda
  • Renamed _Unit to _SameObject — unit was a bad name for this
  • Significantly improved subtype checking
    • Deferred types are now unwrapped during subtype checking
    • Infinite loops are detected
    • Improved subtype logic — for example constraints are subtypes of their parameters, e.g. _Constraint(Array, size: 10) is a subtype of Array
    • Introduced _Kind type as a way to create higher order types. For example _Kind(Integer) is the type of the type of an integer.
  • Introduced _TaggedUnion which is like a _Union but with tags for each enumerant. This makes it possible to do schema based serialisation of unions.
  • Various bug fixes and improvements
  • Introduced experimental monadic result objects: Literal::Result, Literal::Success, Literal::Failure
  • Added support for mapping some types to other types. For example, you can now map a union of types to a union of kinds.
  • Added support for descriptions on properties