greg
|
a6eb2b4020
|
Allow type annotations in let expressions
|
2019-02-20 22:44:45 -08:00 |
|
greg
|
03793e08d3
|
Typechecking operators
|
2019-02-20 03:27:46 -08:00 |
|
greg
|
2be55958f4
|
add Into<String> arg for error constructors
|
2019-02-20 02:06:58 -08:00 |
|
greg
|
bcf48d0ecb
|
First tests for typechecking
|
2019-02-20 01:33:45 -08:00 |
|
greg
|
f0ed63ccf3
|
Basic if-statement checking
|
2019-02-19 23:00:41 -08:00 |
|
greg
|
6012bd1087
|
Variables
|
2019-02-19 21:41:07 -08:00 |
|
greg
|
df7e74c79d
|
Types with arguments
|
2019-02-17 04:31:02 -08:00 |
|
greg
|
abbd02eaef
|
Use ty! macro
|
2019-02-17 04:25:38 -08:00 |
|
greg
|
993741e67f
|
Get rid of typecheck_
|
2019-02-17 04:08:49 -08:00 |
|
greg
|
fbb7b995b8
|
Rename mk_type! to ty!
Doesn't seem to conflict with the same macro in the parser tests, so should be
ok
|
2019-02-17 03:38:15 -08:00 |
|
greg
|
9d4f086a04
|
Put mk_type! in typechecking module
|
2019-02-17 03:36:12 -08:00 |
|
greg
|
e38ae1c3f1
|
Fix type to make it compile
|
2019-02-15 21:11:50 -08:00 |
|
greg
|
d969d573fa
|
Starting work on values
|
2019-02-12 21:14:13 -08:00 |
|
greg
|
35da1748f0
|
Some more type work
|
2019-02-10 12:21:12 -08:00 |
|
greg
|
5e1799268d
|
Unification works with bad annotations
|
2019-02-10 07:32:12 -08:00 |
|
greg
|
42a801d346
|
Rename Order -> Ordering
|
2019-02-10 07:06:30 -08:00 |
|
greg
|
a80e1bd706
|
Type name infra
|
2019-02-10 07:05:01 -08:00 |
|
greg
|
afd9aa52c5
|
More infra around unify
|
2019-02-10 06:53:11 -08:00 |
|
greg
|
5a70784346
|
Adding unify stub
|
2019-02-10 06:48:25 -08:00 |
|
greg
|
0dff177e8f
|
Add more literals kill errors
|
2019-02-10 05:33:55 -08:00 |
|
greg
|
cf91f74912
|
Pass through type info to repl
|
2019-02-10 05:31:58 -08:00 |
|
greg
|
06e9452718
|
More type infrastructure
From here on out, I can start playing with concrete code that attempts
to actually typecheck limited syntactic constructs, and see what I end
up with.
|
2019-02-10 05:24:11 -08:00 |
|
greg
|
7d3ae36058
|
AST-walking infrastructure
|
2019-02-10 04:42:30 -08:00 |
|
greg
|
e8f1f51639
|
Move (most of) the type definitions back to typechecking module
Still need to figure out the macro export thing
|
2019-02-10 04:30:37 -08:00 |
|
greg
|
170cf349d7
|
Starting typechecking work again
|
2019-02-09 00:25:12 -08:00 |
|
greg
|
c0111e30bc
|
SymbolTable: Add Record type
|
2019-01-25 00:57:01 -08:00 |
|
greg
|
c225e469ee
|
Change Record variant representation
|
2019-01-24 20:47:20 -08:00 |
|
greg
|
1ce06bc0ef
|
More symbol-table refactoring
|
2019-01-20 22:32:58 -08:00 |
|
greg
|
10c3a60515
|
Some symbol-table refactoring
|
2019-01-20 00:23:08 -08:00 |
|
greg
|
a63dcf91b0
|
Replace // with quot
|
2019-01-10 20:57:13 -08:00 |
|
greg
|
479a098e0f
|
Make note to fix parsing bug
|
2019-01-09 17:37:51 -08:00 |
|
greg
|
1085b528fe
|
Don't care about case-sensitivity
|
2019-01-08 02:38:10 -08:00 |
|
greg
|
9b3b5c5541
|
Token offsets
|
2019-01-08 02:11:19 -08:00 |
|
greg
|
ab8e24a276
|
ParseError always has token now
|
2019-01-08 01:04:46 -08:00 |
|
greg
|
09e2d8579d
|
Remove all ParseErrors that don't return the failed token
|
2019-01-08 01:00:40 -08:00 |
|
greg
|
ee7861cbd0
|
Fix how impl blocks work
This gets rid of a token-less parseerror
|
2019-01-08 00:51:56 -08:00 |
|
greg
|
b88def8a2e
|
Make error msg better
|
2019-01-07 16:52:46 -08:00 |
|
greg
|
30676722a3
|
Transition to edition 2018
|
2019-01-07 13:00:37 -08:00 |
|
greg
|
801c90aaa7
|
Reorder parameters in pass functions
|
2019-01-07 02:43:31 -08:00 |
|
greg
|
fa295aab28
|
Show location of error in parse error
|
2019-01-07 01:52:54 -08:00 |
|
greg
|
a0f4abb9a3
|
Add SourceReference
|
2019-01-06 01:58:16 -08:00 |
|
greg
|
78b454fb32
|
Delete this line
|
2019-01-05 20:41:49 -08:00 |
|
greg
|
5491169d55
|
Refactor parsing structure
TokenHandler should contain all the methods for actually manipulating
tokens, Parser should only contain the recursive descent methods
|
2019-01-05 20:23:07 -08:00 |
|
greg
|
2b338fd3c9
|
Move .next() onto token_handler
|
2019-01-05 18:29:24 -08:00 |
|
greg
|
821f321261
|
More Node-wrapping of Expression
|
2019-01-05 18:11:51 -08:00 |
|
greg
|
846eeae04c
|
More use of Token instead of TokenKind
|
2019-01-05 17:50:54 -08:00 |
|
greg
|
22f2750853
|
More use of Token in error messages
|
2019-01-05 17:40:05 -08:00 |
|
greg
|
f2f8ac7ee8
|
Make parserrors have token
|
2019-01-05 17:32:49 -08:00 |
|
greg
|
d0c5dce92b
|
Use get_kind()
|
2019-01-05 17:28:35 -08:00 |
|
greg
|
8eda74c9a5
|
Starting to keep track of locations of errors in file
|
2019-01-05 17:18:10 -08:00 |
|