git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Update README.md
6c11112Phil Freeman
README.md+14−13
@@ -58,15 +58,15 @@ The following code defines a `Person` data type and a function to generate a str
58
58
59```haskell
59```haskell
60data Person = Person
60data Person = Person
61−{ name :: String
61+ { name :: String
62−; age :: Number
62+ ; age :: Number
63−}
63+ }
64
64
65extern itoa :: Number -> String
65extern itoa :: Number -> String
66
66
67showPerson :: Person -> String
67showPerson :: Person -> String
68showPerson = \p -> case p of
68showPerson = \p -> case p of
69−Person o -> o.name ++ ", aged " ++ itoa(o.age)
69+ Person o -> o.name ++ ", aged " ++ itoa(o.age)
70```
70```
71
71
72Line by line, this reads as follows:
72Line by line, this reads as follows:
@@ -81,18 +81,18 @@ The generated Javascript looks like this:
81
81
82```javascript
82```javascript
83var Person = function (value) {
83var Person = function (value) {
84−return { ctor: 'Person', value: value };
84+ return { ctor: 'Person', value: value };
85};
85};
86
86
87var showPerson = function (p) {
87var showPerson = function (p) {
88−return (function (_0) {
88+ return (function (_0) {
89−if (_0.ctor === "Person") {
89+ if (_0.ctor === "Person") {
90− var _1 = _0.value;
90+ var _1 = _0.value;
91− var o = _1;
91+ var o = _1;
92− return o.name ++ ", aged " ++ itoa(o.age);
92+ return o.name ++ ", aged " ++ itoa(o.age);
93−}
93+ }
94−throw "Failed pattern match";
94+ throw "Failed pattern match";
95−})(p);
95+ })(p);
96};
96};
97```
97```
98
98
@@ -588,6 +588,7 @@ extern pow :: (Number, Number) -> Number
588
588
589To declare a new type with no constructors, use `extern data` and provide the kind:
589To declare a new type with no constructors, use `extern data` and provide the kind:
590
590
591+```haskell
591extern data IO :: * -> *
592extern data IO :: * -> *
592
593
593extern console :: {
594extern console :: {