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.