New Features
Deriving Functor
The Functor
type class can now be derived using the standard derive instance
syntax:
newtype F a = F { foo :: Array a, bar :: a }
derive instance functorF :: Functor F
User-Defined Kinds
Custom kinds can now be defined using the foreign import kind
syntax:
foreign import kind SymbolList
Custom kinds can be ascribed to types using foreign import data
declarations, as usual:
foreign import data Nil :: SymbolList
foreign import data Cons :: Symbol -> SymbolList -> SymbolList
Note that kind arguments are not supported.
User defined kinds can be imported/exported using the kind
prefix, for example:
import Type.SymbolList (kind SymbolList)
Source Maps in psc-bundle
psc-bundle
will now generate source maps if the--source-maps
flag is used.
Solving CompareSymbol
and AppendSymbol
Support for the new purescript-typelevel-prelude
library has been added to the compiler. CompareSymbol
and AppendSymbol
constraints will now be solved automatically for literal symbols.
New psc-package
Features
(@paf31)
Two new commands have been added to psc-package
to support library authors and package set curators.
- The
updates
command (#2510) is used to update packages in the set. - The
verify-set
command (#2459) is used to verify the health of a package set. This command replicates the work done by thepackage-sets
CI job, and can be used to test modifications to the package set locally before making a pull request.
Enhancements
- Update orphan instance check to use covering sets when functional dependencies are involved (@LiamGoodacre)
- Add
--node-path
option to PSCi to modify the path to the Node executable (#2507, @paf31) - Add package information to re-exports (@hdgarrood)
- Add
Prim
docs to the library (#2498, @hdgarrood)
Bug Fixes
- Derive instances when data types use type synonyms (#2516, @paf31)
- Unwrap
KindedType
when instance solving (@LiamGoodacre) - Update links to wiki (#2476, @LiamGoodacre)
- Update websocket host to fix PSCi on Windows (#2483, @seungha-kim)
- Fix
psc-ide
tests on windows (@kritzcreek) - Fix some issues with the pretty printer (#2039, @paf31)
Other
- More robust license generator script (@hdgarrood)
- Further conversions to
Text
in theDocs
modules (#2502, @hdgarrood) - Add upper bound on
turtle
, fixes #2472, (@hdgarrood) - Fix version bounds on
language-javascript
(@hdgarrood)