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 in purs-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 in bower.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 the psc-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)