purescript v0.7.5 Release Notes

Release Date: 2015-10-20 // over 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.