purescript v0.8.0 Release Notes

Release Date: 2016-01-31 // about 8 years ago
  • ๐Ÿš€ A massive thanks to everyone involved in this release!

    ๐Ÿ’ฅ Breaking Changes

    None, but there are lots of new warnings related to upcoming breaking changes in 0.9:

    • โš  Operators as aliases will become mandatory, and regular operators (as functions) will now generate warnings.
    • โš  Non-exhaustive functions will get a Partial constraint in 0.9, so the exhaustivity checker will now attempt to generate warnings by looking for Partial constraints in scope.
    • ๐Ÿ—„ The qualified import syntax has been deprecated.
    • ๐Ÿ—„ Class imports will use the new class syntax in 0.9 and the alternative syntax is deprecated.

    โœจ Enhancements

    • โž• Add native Partial constraint (@garyb)
    • โฌ‡๏ธ Reduce backtracking in parser to hopefully improve quality of parsing error messages (@paf31)
    • โฌ‡๏ธ Drop requirement to parenthesize single constraints in instance contexts (@garyb)
    • Case expressions can now match multiple values (@natefaubion)
    • โž• Add operator aliases (@garyb)
    • ๐Ÿ‘‰ Show identifiers correctly in ctags (@nwolverson)
    • ๐Ÿ›  Fix #1523, add --json-errors flag for editor integrations (@paf31)
    • โš  Error and warning corrections are now available to editors via --json-errors (@nwolverson)
    • Check integer values are within range in codegen (@garyb)
    • ๐Ÿ‘Œ Support for unicode operators (@paf31)
    • ๐Ÿ“œ The parser now supports unicode symbols for forall and function arrows (@DavidLindbom)
    • Module Imports
      • Use class keyword for class references in imports (@garyb)
      • Type imports no longer require () (@garyb)
      • Allow import hiding with qualified imports (@garyb)
      • Naming conflicts are now resolved at the use site (@garyb)
    • Error Messages
      • Fix #1662, display extra type info in instance errors (@paf31)
      • Add information about skolem constants to type errors (@paf31)
      • Sort rows in unification errors (@paf31)
    • โš  Warnings
      • Warn on unspecified imports (@garyb)
      • Warn when import X hiding (..) imports nothing (@garyb)
      • Warn on duplicate imports and exports (@garyb)
      • Warn about unused class imports (@garyb)

    ๐Ÿ› Bug Fixes

    • โšก๏ธ Renamer updates, fixes naming bug in some unlikely situations (@garyb)
    • ๐Ÿ›  Fix #1645, implement new indentation rules for types to avoid very wide errors (@paf31)
    • ๐Ÿ›  Fix "resource exhausted" issue on MacOS (@mgmeier)
    • ๐Ÿ›  Fix #1664, check kind before expanding wildcards. (@paf31)
    • ๐Ÿ›  Fix up shadowed module names in JS codegen (@garyb)
    • ๐Ÿ›  Fix #1185, fix #1369, add everythingWithScope traversal to correct some scoping issues. (@paf31)
    • ๐Ÿ›  Fix two cases where errors were missing context (@garyb)
    • ๐Ÿ›  Fix #1636, instantiate polytypes fully, even under constraints. (@paf31)
    • ๐Ÿ›  Fix missing data constructors in re-exports (@garyb)
    • ๐Ÿ›  Fix codegen error with instance for re-exported class (@garyb)
    • ๐Ÿ›  Fix #1479, encode .js files as UTF8. (@paf31)
    • ๐Ÿ›  Fix a bug related to redundancy checking in cases (#1853, @nicodelpiano)
    • ๐Ÿ›  Fix a TCO/composition inlining bug (@garyb, @hdgarrood)
    • ๐Ÿ›  Fix renaming for nested constructor binders (#1839, @sharkdp)
    • ๐Ÿ›  Fix generic deriving bug with >1 type argument (@hdgarrood)
    • ๐Ÿ›  Fix generate fresh binder names unless all names in case are equal (#1825, @paf31)
    • ๐Ÿ›  Fix external require expressions when minifying (#1794, @paf31)
    • ๐Ÿ“‡ Rename foreign argument to fix compiling issue (@anttih)
    • ๐Ÿ‘ Allow use of bottom integer (@garyb)

    Other

    • ๐Ÿ›  Fix #1700, remove warnings for syntactic features removed in 0.7.0 (@paf31)
    • ๐Ÿ›  Fix psc-publish test (@passy)
    • ๐Ÿ“„ Relax rules for docs comments (#1820, @hdgarrood)
    • ๐Ÿ‘ Qualified name lookup is now supported in PSCi (#974, @soupi)
    • https://github.com and [email protected] URLs are now allowed by psc-publish (@passy, @codedmart)
    • ๐Ÿ“„ Docs are now generated for module re-exports (@hdgarrood)
    • ๐Ÿ“„ Use friendly module name in psc-docs error (@nwolverson)
    • Distinguish between the different ProperNames (@garyb)
    • Warn about unspecified constructors in type imports (@garyb)
    • ๐Ÿ›  Fix warning about values missing from virtual modules (@garyb)