This repository has been archived by the owner on Oct 18, 2021. It is now read-only.
Amulet 0.4.2.0 "<!-- Squid: fill in this joke -->"
Pre-release
Pre-release
Changes since last release:
- Check for orphan instances, closing a soundness hole #191
- “Quick Look” impredicative polymorphism, #203
The new thing: QL Impredicativity
"Quick Look" impredicativity extends Amulet's support for first-class polymorphism. Like any implementation of this, it's dubiously useful, but does still allow writing some pretty neat snippets, such as constructing a list of identity functions:
let ids : list (forall 'a. 'a -> 'a) =
let empty : list (forall 'a. 'a -> 'a) = []
(fun x -> x) :: empty
You can get this release here or through the usual means.