Commit Graph

1421 Commits

Author SHA1 Message Date
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