git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Update and rename RELEASE.md to RELEASE-0.3.md
commitd03133afed4cb01f05ba6819308b0788c9d2f4cd authorPhil Freeman <paf31@cantab.net> dateSat 15 Feb 2014, 17:57 (13 years ago) parent37fe621
1 file changed−86
RELEASE.md → RELEASE-0.3.md−86
RELEASE.md → RELEASE-0.3.mdrenamed−86
@@ -83,89 +83,3 @@ Many thanks to the [contributors](https://github.com/purescript/purescript/graph
8383- A bug which caused the optimizer to break generated Javascript for mutually recursive values was fixed.
8484- Some `Prelude` functions which called methods in the standard Javascript library have been fixed.
8585
86−## 0.2.0 Changes
87−
88−Many thanks to the [contributors](https://github.com/purescript/purescript/graphs/contributors) who helped with this release.
89−
90−- Full language guide can be found [here](http://functorial.com/purescript).
91−- Try out the latest features [here](http://tryps.functorial.com).
92−
93−### New Features
94−
95−- RankNTypes
96−
97− This experimental feature allows polymorphic types (introduced with `forall`) to appear on the left of a function arrow, or as the type of a record field, etc. For example:
98−
99− rank2 :: (forall a. a -> a) -> Number
100− rank2 = \f -> if f true then f 1 else f 2
101−
102−- Modules
103−- Polymorphic Object Update
104−
105− Records now support member update in which the type of the field changes during the update. For example:
106−
107− data Wrap a = Wrap a
108−
109− update = \o -> o { prop = Wrap o.prop }
110−
111−### Enhancements
112−
113−- Naked expressions as statements
114−
115− Naked expressions of type `{}` can now be used as statements.
116−
117−- Split code generation into `AST -> JS` and `JS -> String`
118−
119− JavaScript generation is now split into the generation of a JavaScript AST, and the pretty-printing of that AST. This enables some optimizations, and a better JavaScript pretty-printer.
120−
121−- Syntactic sugar for introducing curried functions
122−
123− Single-argument functions and multiple-argument functions can now be introduced in the same way:
124−
125− test = \a (b, c) d -> a + b + c + d
126−
127−- JavaScript optimizations
128−
129− Some basic dead-variable elimination, inlining and eta-conversion are now performed on the generated JavaScript.
130−
131−- Generate formatted Javascript
132−
133− The generated JavaScript is now formatted to be more readable. In particular, newlines get generated, and the correct indentation is used.
134−
135−- More valid infix operators
136−
137− The colon and period characters are now valid in infix operator names.
138−
139−### Syntax Changes
140−
141−- Avoid 'do' keyword for blocks
142−
143− `do` will be used later for Haskell-like monad comprehensions, so its previous use in introducing blocks of statements is now invalid. The `do` keyword is still reserved.
144−
145−- Member foreign import syntax
146−
147− A small syntactic addition to the FFI, to support a common use case.
148−
149−- Make FFI syntax match Haskell
150−
151− Use `foreign import` instead of `extern`.
152−
153−- Make record declaration syntax match Haskell
154−- Simplify array binders
155−
156− There are now two types of array binders: cons binders `x : xs -> ...` and array binders `[x, y, z] -> ...` instead of the previously confusing `[x:xs]`.
157−
158−- Array indexing syntax is ambiguous
159−
160− Array elements are now accessed using the `!!` operator: `arr !! 0` etc.
161−
162−### Bug Fixes
163−
164−- Allow guards access to current scope
165−
166−### Libraries
167−
168−- Prelude
169−
170− There is now a basic prelude in the `libraries/prelude` folder.
171−