github purescript/purescript v0.8.3

latest releases: v0.15.16-1, v0.15.16-0, v0.15.15...
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).

  • 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)

Don't miss a new purescript release

NewReleases is sending notifications on new releases.