Skip to content
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
Compare
Choose a tag to compare
@plt-amy plt-amy released this 19 Oct 17:06
· 1209 commits to master since this 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.