Breaking Changes
None
Enhancements
-
psc-ide
is now distributed with the compiler! (@kritzcreek)The
psc-ide-server
andpsc-ide-client
executables are now maintained and
distributed alongside the compiler. This will ensure that the externs file
format used bypsc-ide-server
is kept in sync with changes in the compiler. -
Source maps (@nwolverson)
Source maps can be generated using the
--source-maps
flag. See the
example repository for a full demonstration of source maps using Webpack. -
Operator aliases for data constructors (@garyb)
Aliases can now be defined for data constructors. For example:
data List a = Nil | Cons a (List a) infixr 6 Cons as :
Here, the
:
operator can be used as a function to replace theCons
constructor,
and also in binders. -
Eq
andOrd
deriving (@paf31)Eq
andOrd
instances can now be derived, using thederive instance
syntax:derive instance eqList :: (Eq a) => Eq (List a) derive instance ordList :: (Ord a) => Ord (List a)
-
Types are now inferred in
psc-docs
andpsc-publish
(@hdgarrood)If type annotations are missing in source files, they will be inferred by
psc-docs
andpsc-publish
before documentation generation. -
Initial version of new syntax for operator sections (#1846, @paf31)
Operator sections can now be written using underscores. For example:
decrementAll :: Array Int -> Array Int decrementAll = map (_ - 1)
which is equivalent to:
decrementAll :: Array Int -> Array Int decrementAll = map (\x -> x - 1)
Bug Fixes
-
Allow one open import without warning (@garyb)
Warnings for open imports were a pain point for some users after the 0.8 release.
This change allows a single open import without a warning. This is still safe
in the presence of dependency updates, and does not lead to ambiguity for editor
plugins searching for declaration sites.
Other
- @phadej has updated the Stack build to use the latest LTS and nightly builds.
- @izgzhen has refactored the PSCi code to be more readable.
- @hdgarrood has refactored the test suite.