Commit graph

9 commits

Author SHA1 Message Date
Griffin Smith
b93268085a Implement top-level ascription of declarations 2021-03-14 17:01:25 -04:00
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