purescript v0.8.2 Release NotesRelease Date: 2016-02-29 // over 6 years ago
💥 Breaking Changes
psc-ideis now distributed with the compiler! (@kRITZCREEK)
psc-ide-clientexecutables are now maintained and distributed alongside the compiler. This will ensure that the externs file format used by
psc-ide-serveris kept in sync with changes in the compiler.
- Source maps (@nwolverson)
Source maps can be generated using the
--source-mapsflag. 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 :
:operator can be used as a function to replace the
Consconstructor, and also in binders.
Ordinstances can now be derived, using the
derive instance eqList :: (Eq a) => Eq (List a) derive instance ordList :: (Ord a) => Ord (List a)
- 📄 Types are now inferred in
If type annotations are missing in source files, they will be inferred by
psc-publishbefore 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.
- ⚡️ @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.