Skip to content

Releases: purescript/purescript

v0.6.1.1

19 Nov 23:48
Compare
Choose a tag to compare

Breaking Changes

  • The pipe symbol is now a reserved operator.
  • The operators in the Bits type class have been renamed.

Enhancements

  • Fix build on GHC 7.6.* (@dylex)
  • Relax indentation requirements (@paf31)

v0.6.1

18 Nov 01:29
Compare
Choose a tag to compare

Breaking Changes

  • The body of a guarded expression must now be indented past the guard. For example, this is valid:
positive n | n > 0 = true
positive _ = false

but this is not:

positive n | n > 0 
  = true
positive _ = false

New Features

Enhancements

  • Allow unquoted keywords as key names in record literals (#606, @michaelficarra)
  • Import instances when referencing qualified values (#667, @garyb)
  • Multiple guard clauses are now supported (#294, @paf31)
  • Type check let declarations immediately in psci (#615, @garyb)

v0.6.0.2

09 Nov 22:51
Compare
Choose a tag to compare
  • Prevent psci and psc-make from rebuilding everything on every build #692

v0.6.0 - "Holoship"

06 Nov 04:17
Compare
Choose a tag to compare

For more information on PureScript, see the purescript.org website.

Breaking Changes

  • The Alternative type class hierarchy was refactored. See here.
  • --runtime-type-checks has been removed. The recommended approach is to use purescript-foreign. (@garyb)
  • The Unit type is now used in the Prelude and core libraries to represent values containing no data. (@garyb)
  • The Prelude is no longer distributed as a separate file, but is embedded in the compiler executables. (@paf31)
  • docgen is now called psc-docs.

New Features

  • Newtypes are now supported using the newtype keyword. The runtime representation of a newtype is identical to that of the contained type. (@garyb)
  • Multiline string literals are now supported via triple-quote syntax, making FFI declarations much neater. (@phadej)
  • Kind signatures on types and type constructor arguments are now supported. (@paf31)

Enhancements

  • The runFnN and mkFnN families of functions are now inlined by the optimizer, making interop with JavaScript functions of multiple arguments much simpler. (@paf31)
  • Tail call optimization has been improved for functions using case expressions. (@paf31)
  • Saturated calls to data constructors are now optimized. (@garyb)
  • A new Renamer module now renames identifiers which shadow other names in scope, which greatly simplies code generation. (@garyb)
  • psci now provides the following new options:
    • :b to browse a module (@ardumont)
    • :s to show current imports or modules (@ardumont)
    • :k to find the kind of a type constructor (@5outh)
  • The approach to checking whether a name is initialized in the generated JavaScript was simplified (@paf31)
  • The dependency on the PureScript_paths module has been removed, which makes distribution via binaries simpler. (@paf31)
  • Nested if blocks now get optimized. (@garyb)
  • Generated code for type class dictionaries was simplified. (@garyb, @dylex)
  • The code generator now inserts the version of psc into the file as a comment. (@co-dh)
  • () is now valid syntax, referring to the empty row. (@paf31)
  • The type checker will now display multiple errors for type errors in the same binding group. (@paf31)
  • Imports can now specify hidden names using import ... hiding ( ... ) (@andreypopp)

Bug Fixes

  • Binding group errors in type class members are now caught at compile time. (@dylex)
  • Some errors related to type checking rows with duplicate labels were fixed. (@paf31)
  • Some issues with the calculation of binding groups were fixed. (@paf31)
  • Error messages for invalid case declarations are now generated. (@natefaubion)
  • Some issues related to module exports were fixed. (@garyb)
  • psci now checks imports for validity. (@Bogdanp)

Libraries

  • The Alternative type class hierarchy was refactored (@joneshf, @garyb)
  • The exceptions library no longer supports throwing exceptions of any type.
  • The following libraries have been moved to the core PureScript organisation: (@garyb)
    • purescript-transformers
    • purescript-free
    • purescript-const
    • purescript-identity
    • purescript-lazy
    • purescript-distributive
    • purescript-bifunctors
    • purescript-contravariant
    • purescript-profunctors
    • purescript-maps

Documentation

v0.5.7.1

30 Oct 16:23
Compare
Choose a tag to compare
Bump version

v0.5.7

29 Oct 22:44
Compare
Choose a tag to compare
Bump version

v0.5.6.3

06 Oct 16:11
Compare
Choose a tag to compare
Merge branch 'master' of github.com:paf31/purescript

v0.5.6.2

22 Sep 04:42
Compare
Choose a tag to compare
Bump version

0.5.6.1

06 Oct 16:17
Compare
Choose a tag to compare
Bump version

0.5.6

06 Oct 16:15
Compare
Choose a tag to compare
Bump version