[] should now be written as Array, and [a] as Array a.
Cons patterns for arrays have been removed.
Declaring operators in classes will now produce a warning. Changes will be coming to operators in PureScript 0.8, and moving to named members in classes with operators as aliases (e.g. () = map) should make the transition easier in the future.
JavaScript for the FFI can no longer be provided inline.
Values must instead be provided in a separate .js file, and passed to the compiler with the -ffi flag.
Values should be provided in the form exports.foo = ..., similar to a CommonJS module
The file should have a comment // module X.Y.Z where X.Y.Z is the name of the module the JS values are for.
See here for an example
功能增强
Module exports (@andyarvanitis). Currently, only full module exports are supported, but imported modules can be re-exported using the following syntax:purescriptmodule M1 (module M2) whereimport M2
Documentation improvements (@hdgarrood):
psc-docs can now generate multiple output files, allowing documentation to be collected into functional groups.
A new tool psc-publish has been added, which generates module documentation in a JSON format required by Pursuit 2 (coming soon)
@puffnfreshhas worked on dramatically increasing the performance of incremental builds, with improvements up to 10x compared to the previous release.
The new --require-path option allows the syntax of module imports in generated CommonJS modules to be customized (@garyb).
@etrepum has added support for building with Stack.
PSCi now supports computations in the Eff monad. (@paf31)
The compiler now emits warnings in the following cases:
Operator name used in type class definition (@garyb)
Type wildcard used (@nicodelpiano)
Shadowed variable name (@paf31)
@balajirrao has improved the appearance of unknown and rigid types appearing in error messages.
@puffnfresh has added position information to pattern match errors.
@puffnfresh has added some new optimizations (inlining