Commit Graph

953 Commits

Author SHA1 Message Date
greg b65eb0e459 Trying to make tests less verbose 2018-07-26 00:52:45 -07:00
greg 3f1e83dfda Added test for lambda call 2018-07-26 00:52:45 -07:00
greg 5ddfc132e7 Changed BNF grammar of call statements
To allow calling lambdas
2018-07-26 00:52:45 -07:00
greg f1f7f43e20 lambdas 2018-07-26 00:52:45 -07:00
greg 86d9e90e7c Print output of tuples 2018-07-26 00:52:45 -07:00
greg a7672171a6 Handle tuple literals in type system 2018-07-26 00:52:45 -07:00
greg 08e10739e5 Sum types in type schema 2018-07-26 00:52:45 -07:00
greg a300f78e19 Kill unused import 2018-07-26 00:52:45 -07:00
greg 0423017125 Kill some compiler warnings 2018-07-26 00:52:45 -07:00
greg 8ef5a28aff Evaluator now only prints when a builtin print is called 2018-07-26 00:52:45 -07:00
greg a92a2e4454 Kill comments 2018-07-26 00:52:45 -07:00
greg 8d79074ea9 Fix bug in delimited macro
Had to do with bad strictness testing.
2018-07-26 00:52:45 -07:00
greg 4e7806d053 Improve tokenizer debug output 2018-07-26 00:52:45 -07:00
greg 507e0b7255 Cleanup 2018-07-26 00:52:45 -07:00
greg 9b760244d5 Include line count in token debug 2018-07-26 00:52:45 -07:00
greg 88e027f536 Munged types to make tokenizer compile 2018-07-26 00:52:45 -07:00
greg 2e41f8ffe3 SOme work
WIP
2018-07-26 00:52:45 -07:00
greg b18c2eee96 Fixed bug w/ lines in functions
Also improved debugging
2018-07-26 00:52:45 -07:00
greg 0c78f50568 Frame-aware lookups 2018-07-26 00:52:45 -07:00
greg 2dc9b4c09f Kill debug 2018-07-26 00:52:45 -07:00
greg 73206d345e Better debugging for types 2018-07-26 00:52:45 -07:00
greg 1a74e16af5 Use UVars in type signatures of functions 2018-07-26 00:52:45 -07:00
greg ae2182db5d Add history saving 2018-07-26 00:52:45 -07:00
greg ad450469a5 Switch to rustyline library 2018-07-26 00:52:45 -07:00
greg df88e33579 Introduced fresh type variable method 2018-07-26 00:52:45 -07:00
greg 9d72a92f0b Continuing work 2018-07-26 00:52:45 -07:00
greg fa6c2a6f45 Re-added symbol table infra 2018-07-26 00:52:45 -07:00
greg 92e6830979 Some logic for function call inferring 2018-07-26 00:52:45 -07:00
greg ef9cd04605 Starting on function application typechecking 2018-07-26 00:52:45 -07:00
greg 1eaf201145 Move some code around 2018-07-26 00:52:45 -07:00
greg 876373c9fd Function calls work 2018-07-26 00:52:45 -07:00
greg 63f5f155ae Temporarily disable type-erroring
and tighten some code
2018-07-26 00:52:45 -07:00
greg 51cf8a4824 Handle variable lookups 2018-07-26 00:52:45 -07:00
greg e0cc12276c Evaluate binding declarations 2018-07-26 00:52:45 -07:00
greg d69970a806 Separate Value and NamedStruct syntactic categories 2018-07-26 00:52:45 -07:00
greg 522d9fc951 Fixed | 2018-07-26 00:52:45 -07:00
greg 63c3e0a4db More operator stuff 2018-07-26 00:52:45 -07:00
greg 547def990e Operator changes 2018-07-26 00:52:45 -07:00
greg 6e105bac55 Fixed tests w/ respect to binop
There's a few unnecessary conversions of &str 's to Rc<String> and back
2018-07-26 00:52:45 -07:00
greg a396c448ec Centralize data for prefix ops too 2018-07-26 00:52:45 -07:00
greg d3ef980dc5 Added type information to binop definitions
Also started centralizing precedence there too
2018-07-26 00:52:45 -07:00
greg df86e0c16e Make sigil field private 2018-07-26 00:52:45 -07:00
greg 274bf80b5d Function evaluation work 2018-07-26 00:52:45 -07:00
greg f0a39ac88a Give State a pointer to its parent
For function call lookups
2018-07-26 00:52:45 -07:00
greg 85e65273fe Finished initial BinOp/PrefixOp 2018-07-26 00:52:45 -07:00
greg 413c5afe67 Starting to munge BinOp types
Incomplete, doesn't yet compile
2018-07-26 00:52:45 -07:00
greg 36174140bc ReplState -> State
Not everythign is a repl
2018-07-26 00:52:45 -07:00
greg 75ecfb4e86 Move bx! macro up to mod.rs
And make use of it in parser
2018-07-26 00:52:45 -07:00
greg e86d401c90 Move anno-to-type to a method on TypeName 2018-07-26 00:52:45 -07:00
greg b2319f0971 Fix tests too 2018-07-26 00:52:45 -07:00