Commit Graph

51 Commits

Author SHA1 Message Date
greg 7e23e40a2f Eval list literals 2018-03-08 12:42:05 -08:00
greg 367719d408 Tighten some code 2018-03-08 00:32:19 -08:00
greg da9aa1e29d Index evaluation 2018-03-07 21:46:21 -08:00
greg fea9b9575b Print output of tuples 2018-03-03 13:26:22 -08:00
greg b058e47d79 Kill some compiler warnings 2018-03-03 00:28:52 -08:00
greg 5be53dc847 Evaluator now only prints when a builtin print is called 2018-03-03 00:25:08 -08:00
greg 57c7858c87 Frame-aware lookups 2018-03-01 23:13:32 -08:00
greg 3e7c7a50b4 Move some code around 2018-02-26 19:57:46 -08:00
greg 2574a1b9c0 Function calls work 2018-02-26 19:55:27 -08:00
greg c285ee182e Temporarily disable type-erroring
and tighten some code
2018-02-26 19:16:49 -08:00
greg 1064d9993a Evaluate binding declarations 2018-02-26 18:18:42 -08:00
greg 0e3320e183 Separate Value and NamedStruct syntactic categories 2018-02-26 18:12:37 -08:00
greg d9e96398a4 More operator stuff 2018-02-26 02:21:21 -08:00
greg a564ffa1ce Operator changes 2018-02-26 02:11:56 -08:00
greg 4333563d03 Make sigil field private 2018-02-24 14:39:45 -08:00
greg e7cabb2a79 Function evaluation work 2018-02-24 14:31:04 -08:00
greg 5da7c809b2 Give State a pointer to its parent
For function call lookups
2018-02-24 13:56:04 -08:00
greg d229a57837 Finished initial BinOp/PrefixOp 2018-02-23 19:06:37 -08:00
greg 4ab900d601 ReplState -> State
Not everythign is a repl
2018-02-23 03:07:58 -08:00
greg 61795b0331 More work on evaluating applications
for later testing + to kill a compiler warning
2018-02-22 03:34:36 -08:00
greg 98e1a5235a Some more structure in evaluator 2017-10-23 01:54:35 -07:00
greg e054c4b27f Revert "Starting to split project into multiple crates"
This reverts commit e3b0f4a51e.
Bah, this was a bad idea, wrong way to do it
2017-10-23 00:45:01 -07:00
greg e3b0f4a51e Starting to split project into multiple crates 2017-10-23 00:43:43 -07:00
greg 911f26e9c6 Halfway done with evaluating tuples 2017-10-23 00:22:25 -07:00
greg 4c256cb5f7 Literal non-primitive values 2017-10-14 13:54:17 -07:00
greg 26c9c72bcc Can eval custom data constructors now 2017-10-13 03:05:18 -07:00
greg ecb2eb0f87 Some more primitive types + binop-checking 2017-10-12 23:59:52 -07:00
greg 6c60794485 Have + do something different with strings
Needed to introduce polymorphism soon
2017-10-10 02:45:25 -07:00
greg 50ceb92d6b Move type-checking into a module 2017-10-04 02:07:30 -07:00
greg dd7736e32d Add some resources 2017-10-03 21:28:17 -07:00
greg abbbb34901 Some very basic evaluation stuff 2017-10-02 20:11:27 -07:00
greg 3ff4a34aeb kill some non-used variable warnings 2017-10-02 01:52:46 -07:00
greg 89482e5b5a Use a Result 2017-10-01 19:31:43 -07:00
greg 6435d5e958 Make eval output nicer 2017-10-01 19:29:05 -07:00
greg f6536e7ebd Evaluation stuff 2017-10-01 19:09:55 -07:00
greg c5cb223168 Super-minimal type-checking with just ints 2017-10-01 17:50:26 -07:00
greg d16a0c9380 Evaluation of literals 2017-10-01 12:55:28 -07:00
greg daf9878020 Kill some unused code 2017-10-01 00:50:13 -07:00
greg f825c87397 Type checking beginnings 2017-10-01 00:48:08 -07:00
greg 8d2a65b44e Starting eval framework 2017-09-30 23:30:02 -07:00
greg dd22ca0291 Grand renaming of things 2017-09-19 22:11:01 -07:00
greg 5d15d60ab6 Structs implemented
albeit very inefficiently
2017-09-19 22:11:01 -07:00
greg e0f5f01e69 Kill error messges for not using Result 2017-09-19 22:11:01 -07:00
greg 424998c128 Lists work! 2017-09-19 22:11:01 -07:00
greg b93625819c Update ReducedValue to handle lists 2017-09-19 22:11:01 -07:00
greg dbf5886aad List evaluation technically working 2017-09-19 22:11:01 -07:00
greg 4da771036a Part of evaluation path for indexing done 2017-09-19 22:11:01 -07:00
greg 3911c45dde Introduced index notation 2017-09-19 22:11:01 -07:00
greg 039022bfc5 Get rid of println 2017-09-19 22:11:01 -07:00
greg 421a9a7e9b Abstract evaluation into EvaluationMachine trait 2017-09-19 22:11:00 -07:00