Commit graph

8 commits

Author SHA1 Message Date
Griffin Smith
ecb4c0f803 Universally quantified type variables
Implement universally quantified type variables, both explicitly given
by the user and inferred by the type inference algorithm.
2021-03-14 16:43:47 -04:00
Griffin Smith
7960c3270e Make string and bool parsing complete 2021-03-14 12:27:28 -04:00
Griffin Smith
39656a3801 Add string support to the frontend 2021-03-14 11:53:13 -04:00
Griffin Smith
32a5c0ff0f Add the start of a hindley-milner typechecker
The beginning of a parse-don't-validate-based hindley-milner
typechecker, which returns on success an IR where every AST node
trivially knows its own type, and using those types to determine LLVM
types in codegen.
2021-03-13 22:07:09 -05:00
Griffin Smith
f8beda81fb Allow exprs+bindings to optionally be ascripted 2021-03-13 13:12:03 -05:00
Griffin Smith
3dff189499 Factor out expr parser into its own module 2021-03-13 12:19:44 -05:00
Griffin Smith
1ea2d8ba9f Implement functions, both top-level and anonymous
Implement both top-level and anonymous functions, but not closures in
either case.
2021-03-08 00:04:44 -05:00
Griffin Smith
80f8ede0bb Initial commit 2021-03-07 15:29:59 -05:00