git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Delete RELEASE-0.5.md
b0bf43ePhil Freeman
RELEASE-0.5.mddeleted−100
@@ -1,100 +0,0 @@
1−## 0.5.0 Changes
2−
3−## Breaking Changes
4−
5−- Support for blocks has been removed. (paf31)
6−- Type class instances must now be named (paf31)
7−
8− instance showNumber :: Show Number where
9− ...
10−
11−- Prelude modules now follow a naming scheme similar to haskell (e.g. `Data.Maybe`, `Control.Monad`) (garyb)
12−- Many modules that were previously part of the Prelude have been split into individual libraries, [now distributed via Bower](http://bower.io/search/?q=purescript) (garyb)
13−- Multiple modules with the same name are now disallowed rather than merged (garyb)
14−- The `--runtime-type-checks` flag has been removed. Runtime type checks have been superceded by the `purescript-foreign` library (paf31)
15−- The `Prelude` module is now imported automatically. Conflicts can be avoided by using qualified imports or an explicit import list. (garyb, paf31)
16−- Overlapping instances are no longer allowed. The `Prelude` and core libraries have been updated accordingly. (paf31)
17−- `Functor`, `Applicative`, `Monad` are now part of a class heirarchy that include `Apply` and `Bind`. `return` is now an alias for `pure`. (joneshf, paf31, garyb)
18−- `Semigroupoid` is now a superclass of `Category` (garyb)
19−- `(:)` is now part of Prelude (garyb)
20−- `(!!)` has been renamed to `Prelude.Unsafe.unsafeIndex` and a safe version has been added to `Data.Array` (garyb)
21−
22−### New Features
23−
24−- Multi parameter typeclasses (paf31)
25−- Superclasses (puffnfresh, paf31)
26−- FlexibleInstances and FlexibleContexts (paf31)
27−- Let bindings are now supported. The `let` keyword can introduce several local (possibly mutually recursive) bindings, along with optional type signatures. (paf31)
28−- `where` clauses are now supported in value declarations, with the same rules as `let` bindings (garyb)
29−- Empty data declarations and empty type classes are now supported (paf31)
30−- A new command line option `--codegen` controls which modules will have Javascript and externs generated (paf31)
31−- `psc-make` now generates CommonJS-compatible modules, which can be used with `require()` in `node`. `psc` still generates modules for use in the browser. (paf31, garyb)
32−
33−### Enhancements
34−
35−- Pretty printing for row types was improved (garyb)
36−- Module names can now contain `.` (garyb)
37−- New optimizer rules have been added for code in the ST monad, to reproduce the functionality of the blocks feature, which has been removed (paf31)
38−- Pattern binders are now usable in lambda expression arguments (paf31)
39−- PSCI now has a `:t` command for checking the type of a value (paf31)
40−- Array pretty printing via `show` has been improved (joneshf)
41−- PSCI completions are sorted (joneshf)
42−- PSCI now has help commands (joneshf)
43−- PSCI history is in XDG config (joneshf)
44−- PSCI allows loading of modules from ~ paths (joneshf)
45−- PSCI can accept a list of modules to load on start from the command line (paf31)
46−- PSCI can now be configured using a `.psci` file in the current directory. If such a file exists, it should contain a list of commands to run on startup. (paf31)
47−- Type class instances are now named, to enable easier interop with Javascript (paf31)
48−- Class names no longer need to be qualified in instance declarations (garyb)
49−- Module exports can now be specified explicitly (garyb)
50−- Let bindings can now define functions with binders (paf31)
51−- Case statements and functions which do not pattern match on their arguments now generate smaller code (paf31)
52−- Imported type class instances are now exported (paf31)
53−- Some error messages were improved (paf31)
54−- Qualfied module imports are now supported as `import qualified M as X` (garyb)
55−- The escape check was removed, since it was too restrictive (paf31)
56−- The binary operator reordering step was greatly simplified (paf31)
57−- The Object type constructor can now be referenced explicitly as `Prim.Object` (with kind `# * -> *`) (paf31)
58−- Optimizations are now enabled by default and can be disabled with the `--no-tco` and `--no-magic-do` flags (garyb)
59−- Unary minus and signed numeric literals are now supported again (paf31, garyb)
60−- Type errors have been simplified, the full trace can be enabled with `--verbose-errors` or `-v` (paf31)
61−- Error messages now display source positions (paf31, garyb)
62−- The type classes implementation and code generation was greatly simplified (paf31)
63−- Object properties and row labels can now be accessed with arbitrary string names by using string literals (paf31)
64−- `(++)` is now an alias for the Semigroup operator `(<>)` (paf31)
65−- Error messages for classes with undefined or missing members have been improved (garyb)
66−- The SYB dependency was removed, and traversals rewritten by hand, for a large performance increase (paf31)
67−
68−### Bug Fixes
69−
70−- The subsumes relation has been fixed for object types (paf31)
71−- `sort` no longer mutates arrays (joneshf)
72−- PSCI now evaluates expressions (joneshf)
73−- Overlapping variables in typeclass instances are rejected (paf31)
74−- A bug in the optimizer related to inlining was fixed (paf31)
75−- A type checker bug related to array literals was fixed (paf31)
76−- Externs files (`--externs`) are now working again (paf31)
77−- Precedence of backticked infix functions have been corrected (paf31)
78−- A bug which allowed some incorrect type class instances to pass the type checker was fixed (paf31)
79−- Type synonyms are no longer restricted to kind `*` (paf31)
80−- Negative number literals have been restored (garyb)
81−- If a type defined in a module appears in an exported declaration it must also be exported from the module (garyb)
82−- Error messages for unresolvable types or values include the declaration name again (garyb)
83−- Characters in string literals are now properly escaped (garyb)
84−- A module containing a single orphan type declaration and no other declarations now fails to compile (garyb)
85−- An error involving ordering of type class instances was fixed (garyb, paf31)
86−- Externs files no longer include fixity declarations for members that were removed as dead code (garyb)
87−- A bug which prevented `sequence $ [Just 1]` from typechecking was fixed (paf31)
88−
89−### Libraries
90−
91−- Purescript libraries are now [distributed via Bower](http://bower.io/search/?q=purescript). There are currently around 40 libraries available.
92−
93−### Plugins
94−
95−- The `grunt-purescript` plugin has been updated to provide support for new command line options.
96−- There is a new `gulp-purescript` plugin available for compiling with Gulp.
97−
98−### Documentation
99−
100−- There is a new `hierarchy` executable which will generate `.dot` diagrams based on the type class hierarchy of a module. The Prelude docs have been updated to include such a type class diagram. (joneshf)