purescript v0.8.5 Release Notes

Release Date: 2016-04-21 // almost 8 years ago
  • ๐Ÿ†• New Features

    • Fast recompilation for single files in psc-ide-server #1712 (@kRITZCREEK, @paf31)

    The pscid project makes use of this to watch files as you work and raise errors and warnings when they occur with near instant feedback.

    • Operator aliases can now be declared for types #416 (@garyb)
      infixr 6 type Natural as ~>
    
    • Underscore wildcards can now be used in case and if expressions #1558 (@garyb)
      case _ of
        Something -> ...
    
      -- underscores can optionally be used in any part of an `if` expression
      cond = if _ then _ else _
      picker = if _ then "x" else "y"
    
    • Typed holes #1283 (@garyb)
      example :: forall a. Maybe a -> Unit
      example ma = ?umm
    
      Hole 'umm' has the inferred type
    
        Unit
    
      in value declaration example
    

    You can use any identifier name after the question mark and that will be used to label the hole in the raised error message.

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿ“œ Type annotations may need parentheses in some situations that they previously did not due to the introduction of type operators. For example, x :: a == y will be now parsed as x :: (a == y) instead of (x :: a) == y.

    โœจ Enhancements

    • ๐Ÿ‘Œ Improved error messages for invalid FFI identifiers #2011 (@hdgarrood)
    • ๐Ÿ“ฆ psc-publish now allows publishing of packages with a valid SPDX license field in bower.json #1985 (@hdgarrood)
    • Haddock markdown fix #2001 (@trofi)
    • psc-ide now creates the output folder on startup if it is missing #2030 (@kRITZCREEK)

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed an issue with incorrect suggestions when re-exporting modules #1862 (@garyb)
    • ๐Ÿ›  Fixed an issue with invalid redundant import warnings #1823 (@garyb)
    • ๐Ÿ›  Fixed an issue where DuplicateSelectiveImport would not fire when it should #2004 (@garyb)
    • ๐Ÿ›  Fixed the error that occurs when an invalid newtype is created that belongs to a data binding group #1895 (@garyb)
    • ๐Ÿ›  Fixed a case where re-exports included unintended exports #1872 (@garyb)
    • Operator aliases can now be declared for qualified data constructors #2015 (@LiamGoodacre)
    • A single hiding import will no longer raise an "unspecified imports" error #2017 (@garyb)
    • ๐Ÿ›  Fixed a case where cycles in modules were being detected when they do not occur #2018 (@garyb)
    • ๐Ÿ Various cases where files were not being read as UTF-8 on Windows were fixed #2027, #2031 (@garyb, @kRITZCREEK)
    • ๐Ÿ›  Fixed some issues in pretty printing of records #2043 (@LiamGoodacre)
    • psci now shows qualified imports correctly #2040 (@LiamGoodacre)
    • ๐Ÿ“œ Parser errors are now returned as JSON during IDE rebuild #2042 (@paf31)