github purescript/purescript v0.7.5

latest releases: v0.15.16-1, v0.15.16-0, v0.15.15...
8 years ago

A big thank you to everyone who was involved in this release, from filing issues, through fixing bugs to testing patches.

The main focus areas for this release, as part of the 0.8 milestone, were error messages and performance.

Breaking Changes

None!

Enhancements

  • Pretty printing of types and expressions in errors was improved (@paf31)

  • Externs files are now saved as JSON (@paf31)

  • Support for parallel builds has been added (@paf31)
    Builds will now use multiple cores by default, but the number of capabilities can be modified by passing the -N option to the GHC runtime:

    psc <input files> +RTS -N8
    
  • Binders can now be given type annotations (@5outh)

    For example:

    example = do
      n :: Int <- get
      put (n + 1)

    This can be useful when disambiguating types.

  • There is a new warning for missing type signatures on top-level declarations (@paf31)

  • There are new warnings for shadowed and unused type variables (@garyb)

  • Contextual information in warnings was improved (@garyb)

  • The qualified keyword is now optional when importing modules qualified (@michaelficarra)

  • @zudov changed the behavior of PSCi on CTRL+C/D to match GHCi and other REPLs.

  • A bug in row unification was fixed (#1310, @paf31)

  • Constrained types can now be defined without a forall keyword. This is useful in some nullary type class and rank-N scenarios. (@paf31)

Bug Fixes

  • @garyb added some additional checks for transitive module exports.
  • Type synonyms are now expanded more eagerly to avoid some error cases in the type checker (@paf31)
  • Better support for multi-byte UTF-8 characters (@senju)
  • A check has been added to the exhaustivity checker to avoid exponential blowup (@paf31)
  • Empty case statements are no longer syntactically valid (@zudov)

Other

  • @aspidites fixed all compiler warnings in the core libraries.
  • @zudov and @phadej have made improvements to the Stack distribution of the compiler, and the Stackage builds.
  • @garyb has added a warning for operators in type classes, since they will be disallowed before 0.8.

Don't miss a new purescript release

NewReleases is sending notifications on new releases.