Commit Graph

68 Commits

Author SHA1 Message Date
greg
1b78fbff82 Tests for basic pattern matching 2018-08-14 21:39:33 -07:00
greg
897c1181a9 Basic pattern matching working 2018-08-14 21:17:43 -07:00
greg
6833bc4f00 Start on CaseMatch eval 2018-08-14 12:43:06 -07:00
greg
9debdd8d66 Primitive tuple 2018-08-14 02:03:05 -07:00
greg
8067c862f3 Switch out types for evaluator 2018-08-14 00:11:13 -07:00
greg
5ead1e5d44 NewConstructor -> Constructor 2018-08-05 19:14:02 -07:00
greg
5f336ec1a9 Add lookup_by_name to symbol table 2018-08-05 18:19:48 -07:00
greg
5b5689accf Changing representation of primitive objects 2018-08-05 17:15:58 -07:00
greg
32acf89814 New Constructor 2018-08-05 16:04:52 -07:00
greg
42d0aba21c Add index of variants to symbol table
Also new prelude type, just for testing
2018-08-05 13:59:13 -07:00
greg
f7dbbddad1 Let and let mut syntax 2018-07-26 00:52:46 -07:00
greg
196954326e Print bare data constructor 2018-07-26 00:52:46 -07:00
greg
3f2fff276c Constructor eval 2018-07-26 00:52:46 -07:00
greg
ebcea685f3 Fix looking up functions 2018-07-26 00:52:46 -07:00
greg
3b9084810e Add constructor reduced ast node; fix test 2018-07-26 00:52:46 -07:00
greg
f1679e83b7 Start trying to fix tests 2018-07-26 00:52:46 -07:00
greg
d0a0cc8209 Rename ast_reducing -> reduced_ast 2018-07-26 00:52:46 -07:00
greg
27729cefdf Some improvements to the thing 2018-07-26 00:52:46 -07:00
greg
3beabf4678 Start eval-ing data constructors 2018-07-26 00:52:46 -07:00
greg
0b0f6b6b50 Symbol table handles functions better 2018-07-26 00:52:46 -07:00
greg
c65907388d Some ADT work 2018-07-26 00:52:46 -07:00
greg
642e9da8ee Move everything symbol-table-related into a separate module 2018-07-26 00:52:46 -07:00
greg
98cfcfc18d Eval shouldn't be aware of types 2018-07-26 00:52:46 -07:00
greg
e64861b602 Some eval tests 2018-07-26 00:52:46 -07:00
greg
1673fd1cf9 Fix test 2018-07-26 00:52:46 -07:00
greg
c00effcbdd Add _ 2018-07-26 00:52:46 -07:00
greg
8378170fbd Kill comments 2018-07-26 00:52:46 -07:00
greg
7ab385d398 Bring custom ADTs to the repl 2018-07-26 00:52:46 -07:00
greg
9fb148bb02 Make compile again 2018-07-26 00:52:46 -07:00
greg
97df2fa344 I dunno 2018-07-26 00:52:46 -07:00
greg
a08134a747 Delete old code in eval 2018-07-26 00:52:46 -07:00
greg
3ac50f974d Pass around reference to type context in evaluator 2018-07-26 00:52:46 -07:00
greg
afc4281e7f Evaluate function arguments in context before applying them 2018-07-26 00:52:46 -07:00
greg
8d6fea942f Handle function definition before use
And some other ReducedAST - Evaluation niceties
2018-07-26 00:52:46 -07:00
greg
ac576be604 Trim newline in getline()
Ineffiicent but whatever
2018-07-26 00:52:46 -07:00
greg
6bf106a1a3 Equality 2018-07-26 00:52:46 -07:00
greg
44e585fca2 Conditionals 2018-07-26 00:52:46 -07:00
greg
abf25d648d Change repl behavior of strings 2018-07-26 00:52:46 -07:00
greg
1f6e6d9b31 Tuples 2018-07-26 00:52:46 -07:00
greg
e2703121d8 Kill unneeded import 2018-07-26 00:52:46 -07:00
greg
e5b6b41422 Error msg 2018-07-26 00:52:46 -07:00
greg
6c5e3dea5d Assignment 2018-07-26 00:52:46 -07:00
greg
bd8bf1945c Super simple janky input 2018-07-26 00:52:46 -07:00
greg
9e393d2753 Kill old type structure 2018-07-26 00:52:46 -07:00
greg
822420a9d5 Add an eval test 2018-07-26 00:52:46 -07:00
greg
e0cec8b8a6 print, println as builtins 2018-07-26 00:52:46 -07:00
greg
1a84f62818 Kill some old code, make very_simple example print 2018-07-26 00:52:46 -07:00
greg
b1966d7199 Function calling works kind of 2018-07-26 00:52:46 -07:00
greg
fdbb21990d Retrieve function from memory when called 2018-07-26 00:52:46 -07:00
greg
6d8d2aecbd Functions 2018-07-26 00:52:46 -07:00