github purescript/purescript v0.15.9

latest releases: v0.15.16-4, v0.15.16-3, v0.15.16-2...
18 months ago

New features:

  • Add release artifacts for Linux and macOS running on the ARM64 architecture. (#4455 by @f-f)

Bugfixes:

  • Fix prerelease version number on macOS (#4461 by @rhendric)

  • Consider fixity declarations during linting (#4462 by @ozkutuk)

  • Defer monomorphization for data constructors (#4376 by @purefunctor)

    In 0.15.4 and earlier, the compiler monomorphizes type
    constructors early, yielding the following type:

    > :t Nothing
    forall (a1 :: Type). Maybe a1
    
    > :t { a : Nothing }
    forall (a1 :: Type).
      { a :: Maybe a1
      }

    With this change, the monomorphization introduced in
    #835 is
    deferred to only when it's needed, such as when constructors are
    used as values inside of records.

    > :t Nothing
    forall a. Maybe a
    
    > :t { a : Nothing }
    forall (a1 :: Type).
      { a :: Maybe a1
      }

    Also as a consequence, record updates should not throw
    ConstrainedTypeUnified in cases such as:

    v1 :: { a :: Maybe Unit }
    v1 = { a : Just Unit }
    
    v2 :: { a :: Maybe Unit }
    v2 = let v3 = v1 { a = mempty } in v3
  • Update installer to version 0.3.5 to support ARM builds (#4468 and #4469 by @rhendric)

  • Fix exhaustiveness checking to account for case guards (#4467 by @purefunctor)

Internal:

Don't miss a new purescript release

NewReleases is sending notifications on new releases.