Gabriel Gonzalez
d6a06d481f
Fix some ambiguous parses
2016-09-12 22:03:05 -07:00
Gabriel Gonzalez
170387cf3a
Add built-in support for list concatenation
2016-09-12 21:57:12 -07:00
Gabriel Gonzalez
a8d8fa51f8
Fix support for parsing empty lists
2016-09-12 21:33:52 -07:00
Gabriel Gonzalez
a4c2b5bca7
Update documentation
2016-09-12 21:27:47 -07:00
Gabriel Gonzalez
5cc537824b
Update documentation
2016-09-12 21:20:55 -07:00
Gabriel Gonzalez
d0a77b1ff7
Update documentation
2016-09-11 21:59:33 -07:00
Gabriel Gonzalez
86e76fc7c3
Remove unused dependencies
2016-09-11 21:59:27 -07:00
Gabriel Gonzalez
a87086c272
Remove some parsing ambiguities
2016-09-11 21:52:56 -07:00
Gabriel Gonzalez
98078e9b4a
Polish error messages
2016-09-11 21:49:18 -07:00
Gabriel Gonzalez
44d3c0a9ab
Improve parsing error messages
2016-09-11 21:41:31 -07:00
Gabriel Gonzalez
d3998b09a2
Switch to happy
for parsing and simplify the alex
lexer
2016-09-11 20:38:37 -07:00
Gabriel Gonzalez
f6990dd1af
Update tutorial
2016-09-11 10:55:34 -07:00
Gabriel Gonzalez
b8fd34c894
Polish error messages
2016-09-11 10:21:00 -07:00
Gabriel Gonzalez
4b9a82fe9b
Polish error messages
2016-09-11 10:18:08 -07:00
Gabriel Gonzalez
a350969c8c
Polish error messages
2016-09-11 09:58:40 -07:00
Gabriel Gonzalez
055179820a
Update documentation
2016-09-11 09:39:31 -07:00
Gabriel Gonzalez
25e3128726
Improve error messages for arithmetic
2016-09-11 09:36:42 -07:00
Gabriel Gonzalez
6cf96b4b21
Improve error message for (++)
2016-09-11 08:18:52 -07:00
Gabriel Gonzalez
1f012f96cd
Improve error message for (||)
2016-09-11 08:16:00 -07:00
Gabriel Gonzalez
2ab0741db3
Improve error message for (&&)
2016-09-11 08:08:01 -07:00
Gabriel Gonzalez
dc21e59c2a
Improve error message for missing fields
2016-09-10 20:46:15 -07:00
Gabriel Gonzalez
4658791b97
Update documentation
2016-09-10 20:40:02 -07:00
Gabriel Gonzalez
e83cbc6c99
Fix lexing of Double
s
2016-09-10 20:39:21 -07:00
Gabriel Gonzalez
461bf92fc5
Improve error messages for record access
2016-09-10 20:36:45 -07:00
Gabriel Gonzalez
05a01bc02b
Improve error message for key types
2016-09-10 20:25:28 -07:00
Gabriel Gonzalez
f7205d0753
Improve element type errors
2016-09-10 17:37:34 -07:00
Gabriel Gonzalez
743c2c2623
Improve error message for list element type
2016-09-10 17:22:14 -07:00
Gabriel Gonzalez
70c8c0ad1e
Improve error message for mismatched if
branches
2016-09-10 17:15:37 -07:00
Gabriel Gonzalez
ab2fba3e25
Improve error message for if
predicate
2016-09-10 17:01:36 -07:00
Gabriel Gonzalez
de62c6d6db
Improve error messages for list type parameters
2016-09-10 09:59:47 -07:00
Gabriel Gonzalez
dea601b1ea
Improve error messages for Maybe
type parameters
2016-09-10 09:49:21 -07:00
Gabriel Gonzalez
5c369f3e08
Improve error message for untyped values
2016-09-10 09:32:01 -07:00
Gabriel Gonzalez
0d527e84f6
Improve error messages for type mismatch
2016-09-10 08:59:45 -07:00
Gabriel Gonzalez
8674487cf1
Add neatinterpolation
dependency
2016-09-10 08:59:32 -07:00
Gabriel Gonzalez
aca573abe7
Improve error message for invalid functions
2016-09-10 08:15:53 -07:00
Gabriel Gonzalez
bd946183e4
Improve error messages for invalid output types
2016-09-10 07:19:27 -07:00
Gabriel Gonzalez
c6d84ca6c9
Improve error messages for invalid input types
2016-09-10 06:59:23 -07:00
Gabriel Gonzalez
b8b00e4bcd
Improve error message for unbound variables
2016-09-09 21:53:44 -07:00
Gabriel Gonzalez
bb640f5626
Improve parsing of type annotations
...
The main motivation of this change is to disambiguate this expression:
[ x : t ]
Before this change, the grammar of the language permitted two ambiguous
interpretations of the above expression:
* The type of a list whose elements are of type `x`, and the type `x` is
itself annotated with a kind `t`
* A 1-element list of type `t` whose sole element is `x`
After this change, the above expression unambiguously parses as a 1-element list
2016-09-09 21:02:29 -07:00
Gabriel Gonzalez
d03a900583
Update documentation
2016-09-09 19:02:13 -07:00
Gabriel Gonzalez
c794a2200d
Upgrade if
to if
/then
/else
construct
2016-09-09 17:19:46 -07:00
Gabriel Gonzalez
b313facaa2
Update documentation
2016-09-09 09:51:31 -07:00
Gabriel Gonzalez
25b6031d28
Remove normalized expressions from type-checker error messages
2016-09-09 09:51:10 -07:00
Gabriel Gonzalez
3a2faaa4fb
Add support for decoding into records using GHC generics
...
Also began the tutorial
2016-09-09 09:17:25 -07:00
Gabriel Gonzalez
ca212b8eb0
Use double braces for record types
...
This is necessary to distinguish the empty record type, `{{ }}`, and the empty
record literal, `{ }`.
2016-09-09 09:15:59 -07:00
Gabriel Gonzalez
36c6a28da6
Switch to a newer stack
resolver
2016-09-09 09:15:27 -07:00
Gabriel Gonzalez
cc0c1f756f
Add parser for type annotations
2016-09-08 17:04:29 -07:00
Gabriel Gonzalez
c5967955f9
Add support for Maybe
2016-09-08 17:02:11 -07:00
Gabriel Gonzalez
c268c84080
Update documentation
2016-09-08 08:33:39 -07:00
Gabriel Gonzalez
10224095c8
Fix parsing of list type
2016-09-08 08:25:38 -07:00