purescript v0.8.3 Release Notes
Release Date: 2016-03-26 // about 8 years ago-
๐ฅ Breaking Changes
- ๐ We have dropped support for GHC 7.8 and older (@hdgarrood)
โจ Enhancements
- Infer types with class constraints (@paf31)
For example, this simple code would previously have failed with a confusing
NoInstanceFound
error:add x y = x + y
The compiler will now infer the most general type, namely
forall a. (Semiring a) => a -> a -> a
.Note that constraints can only be inferred if they only mention type variables; inference of arbitrary types in constraints is not (yet) supported. So, for example, you would still have to write a type signature for a function which had a constraint such as
(MonadEff (console :: CONSOLE | eff) m)
.- 0๏ธโฃ Default require path to
../
(@nwolverson)
The previous default behavior was no require path prefix, which was confusing for some workflows. The new default is
../
, which is the prefix used inpurs-loader
. This option will be removed completely in 0.9.- ๐ฆ Expose hiding import suggestion in JSON (@nwolverson)
- Error on missing
LICENSE
file or missing license field inbower.json
(@faineance)
๐ Bug Fixes
- ๐ Fix #1916 (@bagl)
- ๐ Fix detection of single open import (@garyb)
- ๐ Fix
true
not being treated as an infallible guard (@garyb) - ๐ Fix pretty printer spinning (@garyb)
- ๐ Fix Windows build script (@garyb)
- ๐ Fix #1889, improve performance by avoiding whitespace operations on large strings (@paf31)
psc-ide
- ๐ Fix a crash related to error messages in the case splitting command (@kRITZCREEK)
- Escape regex characters when using the flex matcher (@kRITZCREEK)
- โ Adds
--help
commands to thepsc-ide
executables (@kRITZCREEK) - Catches EOF exceptions thrown in
acceptCommand
(@kRITZCREEK)
Other
- Switched to Trusty distribution for Travis (@garyb)
- ๐จ @kRITZCREEK and @faineance worked on refactoring the compiler.
- โก๏ธ The
optparse-applicative
dependency was updated to>= 0.12.1
(@stevejb71) - The
bower-json
dependency was bumped (@hdgarrood) - ๐ Better error message for
psc-publish
tests (@kRITZCREEK) - ๐ Use generic Literal in the AST (@garyb)