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 |
|
greg
|
2efac109ef
|
Node for TupleLiteral
|
2019-01-05 16:06:55 -08:00 |
|
greg
|
215e2bbb0d
|
PrefixOp have Node
|
2019-01-05 16:02:30 -08:00 |
|
greg
|
2590def3be
|
More Node-wrapping
|
2019-01-05 15:54:03 -08:00 |
|
greg
|
879a7de83d
|
Wrap Expression in Node
|
2019-01-05 15:47:44 -08:00 |
|
greg
|
4c2e0b8a21
|
Get rid of old code from old ideas
|
2019-01-05 15:35:51 -08:00 |
|
greg
|
282c42da3c
|
Adding Node intermediate type to AST
|
2019-01-05 01:44:32 -08:00 |
|
greg
|
7ac97ca6e8
|
Kill ast_visitor
|
2018-11-26 01:57:44 -08:00 |
|
greg
|
26a8ff307f
|
Add generic Node type
|
2018-11-20 03:21:10 -08:00 |
|
greg
|
6be208b51d
|
Minor fix for parsing error messages
|
2018-11-20 03:03:08 -08:00 |
|
greg
|
e00948cad9
|
Add ast_visitor mod
|
2018-11-17 02:09:16 -08:00 |
|
greg
|
0af6fed505
|
Clear up some code a bit
|
2018-11-17 01:10:23 -08:00 |
|
greg
|
1f527f7949
|
Rename TokenType -> TokenKind
|
2018-11-16 23:17:34 -08:00 |
|
greg
|
b198984fc5
|
implement From for Expression-types
|
2018-11-16 14:06:04 -08:00 |
|
greg
|
58779f8470
|
Rename method, make sourcemap optional
|
2018-11-16 12:58:10 -08:00 |
|
greg
|
a0fa50392c
|
Fix compile error
|
2018-11-16 12:46:29 -08:00 |
|
greg
|
d357876b16
|
WIP source map stuff
|
2018-11-16 04:12:07 -08:00 |
|
greg
|
e42f0c644c
|
Introduce source map
|
2018-11-16 03:56:55 -08:00 |
|
greg
|
2ec7bf3b9a
|
Some initial work on passing token metadata to AST
|
2018-11-16 03:51:03 -08:00 |
|
greg
|
5147e1a3eb
|
Handle underscores in identifiers
|
2018-11-15 16:19:53 -08:00 |
|
greg
|
955c073174
|
Got typechecker unused errors down to one
|
2018-11-13 02:39:02 -08:00 |
|
greg
|
7c46a29141
|
Start adding doc comments
|
2018-11-11 18:04:44 -08:00 |
|
greg
|
0adc761e72
|
Kill an unimplemented!()
|
2018-11-11 02:48:51 -08:00 |
|
greg
|
b2039a7b67
|
Parameterize Type type over existential/universal
|
2018-11-10 16:33:42 -08:00 |
|
greg
|
b4c4531e4d
|
Rename for more concision
|
2018-11-10 14:11:29 -08:00 |
|
greg
|
2d36ad44d6
|
Converting over types
WIP
|
2018-11-09 02:50:29 -08:00 |
|
greg
|
21132a369c
|
Paramaterize Type
|
2018-11-09 02:05:59 -08:00 |
|
greg
|
ff0294c56e
|
Typechecking shouldn't fail yet
|
2018-11-09 02:02:08 -08:00 |
|
greg
|
e39356c0e5
|
Even more type work
|
2018-11-09 00:21:34 -08:00 |
|
greg
|
d44bb02d61
|
Even more types
|
2018-11-08 20:30:17 -08:00 |
|
greg
|
9056e9b0e1
|
More type work2
|
2018-11-08 02:29:54 -08:00 |
|
greg
|
e9b90412ce
|
More type work
|
2018-11-08 02:12:01 -08:00 |
|
greg
|
65c47c20fc
|
Change name of monad in which type inference happens
|
2018-11-07 17:01:07 -08:00 |
|
greg
|
fab3fb8ec2
|
More basic types + test
|
2018-11-07 16:39:32 -08:00 |
|
greg
|
0d5ccd21fe
|
TConst
|
2018-11-07 15:39:40 -08:00 |
|
greg
|
69b7b9f528
|
Print out types to REPL
|
2018-11-07 13:44:28 -08:00 |
|
greg
|
9a09f40222
|
More typing work
|
2018-11-07 03:39:31 -08:00 |
|
greg
|
020819550b
|
More typechecking infrastructure
|
2018-11-06 16:47:34 -08:00 |
|
greg
|
15f9dbe7a6
|
Typechecking infrastructure
|
2018-11-06 13:44:52 -08:00 |
|
greg
|
836bed1207
|
Added janky map to prelude
|
2018-11-06 03:02:32 -08:00 |
|
greg
|
cee5b085d5
|
Simpler syntax for single param in lambdas
This kind of implies that I might want -> for function types after all,
instead of :
|
2018-11-06 02:58:57 -08:00 |
|
greg
|
837a55c718
|
Test for nested function call
|
2018-11-06 02:42:28 -08:00 |
|
greg
|
f4f89b39b6
|
Handle nested function calls
|
2018-11-06 02:40:10 -08:00 |
|
greg
|
c6b4ed7ee4
|
Basic lambdas
|
2018-11-06 01:19:16 -08:00 |
|
greg
|
be425860af
|
Starting on lambdas
|
2018-11-05 21:13:31 -08:00 |
|
greg
|
17e88b33f2
|
Eval test doesn't need to be a macro
Can be a fn
|
2018-11-05 21:07:06 -08:00 |
|
greg
|
47f7eb1ef6
|
Make prelude be separate file
|
2018-11-05 20:55:03 -08:00 |
|
greg
|
72d0cfe466
|
More macro test consolidation
|
2018-11-05 20:52:18 -08:00 |
|
greg
|
cea2f63b44
|
Use macros to make types more concise
|
2018-11-05 20:12:10 -08:00 |
|
greg
|
eec315dd58
|
Get rid of exprstatement! macro
For shorter exst! one
|
2018-11-05 19:58:55 -08:00 |
|
greg
|
1e9aa91c5d
|
More concise test macros
|
2018-11-05 19:57:11 -08:00 |
|
greg
|
9813609ad7
|
Minor test refactoring
|
2018-11-05 19:17:53 -08:00 |
|
greg
|
5953d9d815
|
type annotations on lambdas
|
2018-11-05 19:10:34 -08:00 |
|
greg
|
a74e09c761
|
Change lambda syntax
|
2018-11-05 18:51:01 -08:00 |
|
greg
|
ad53d4394b
|
Get rid of println
|
2018-11-05 14:52:51 -08:00 |
|
greg
|
151246e1c5
|
Test for pattern-matching
|
2018-11-05 14:11:49 -08:00 |
|
greg
|
77d2826918
|
Pattern-match on structured objects
|
2018-11-05 14:01:14 -08:00 |
|
greg
|
1bd48ed5db
|
Fix problem with parsing commas
I should probably rethink how delimited block expressions like if-blocks
(and eventually for-blocks) work
|
2018-11-05 13:07:08 -08:00 |
|
greg
|
c394b81746
|
More pattern-matching
|
2018-11-05 04:02:04 -08:00 |
|
greg
|
ec29077247
|
More tuple-matching
Also discovered parser bug
|
2018-11-05 03:41:03 -08:00 |
|
greg
|
62043ac2d1
|
Starting on pattern-matching tuples
Lots of duplicated code here
|
2018-11-05 03:17:03 -08:00 |
|