@@ -1,3 +1,77 @@
3+### Improve Import Syntax
5+The changes in 0.14 meant that people were seeing pretty long import sections,
6+sometimes with two lines for a single module to bring it in qualified and to
7+expose some unqualified values. The new syntax is like this:
11+ -- Just bring `List` into scope, allowing you to say `List.map`,
12+ -- `List.filter`, etc.
14+import List exposing (map, filter)
15+ -- Bring `List` into scope, but also bring in `map` and `filter`
16+ -- without any prefix.
18+import List exposing (..)
19+ -- Bring `List` into scope, and bring in all the values in the
20+ -- module without a prefix.
23+ -- Bring `L` into scope, but not `List`. This lets you say `L.map`,
26+import List as L exposing (map, filter)
27+ -- Bring `L` into scope along with unqualified versions of `map`
30+import List as L exposing (..)
31+ -- Bring in all the values unqualified and qualified with `L`.
34+This means you are doing more with each import, writing less overall. It also
35+makes the default imports more comprehensive because you now can refer to
36+`List` and `Result` without importing them explicitly as they are in the
39+### Revise Port Syntax
41+One common confusion with the `port` syntax is that the only difference
42+between incoming ports and outgoing ports is whether the type annotation comes
43+with a definition. To make things a bit clearer, each case is getting a
47+input dbResults : Stream String
49+output dbRequests : Stream String
51+ Stream.map toRequest userNames
56+The biggest change in 0.15 is the addition of promises. To bring this concept
57+into Elm in a nice way, we needed to give it support at the declaration level.
58+There are two ways to specify loopbacks. First is a loopback that you write to
62+loopback actions : Mailbox Action
65+This creates a `Mailbox` that you can send messages to. The second kind of
66+loopback runs promises, so it gets all of its values from a stream of promises.
69+loopback dbResults : Stream (Result Http.Error String)
71+ Stream.map toRequest userNames
3Modify default import of `List` to expose `(::)` as well.
77Modify default import of `List` to expose `(::)` as well.