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
Gabriel Gonzalez
0972822b43
Add `if`
2016-09-07 20:22:45 -07:00
Gabriel Gonzalez
586789f75e
Add `(&&)` and `(||)`
2016-09-07 19:49:42 -07:00
Gabriel Gonzalez
94b66b4fa2
Add `True` and `False`
2016-09-07 19:35:45 -07:00
Gabriel Gonzalez
b74bd78f17
Add `Bool` type
2016-09-07 19:29:32 -07:00
Gabriel Gonzalez
857f008931
Add `pair2`/`pair3` and `auto`
2016-09-07 19:25:39 -07:00
Gabriel Gonzalez
9a6ee13cd0
Initial commit
2016-09-07 09:17:12 -07:00