Commit Graph

18 Commits

Author SHA1 Message Date
Nathan Braswell
b44ff104fb Implement variadic paremters, found additional bug for array, still need to handle recursion too 2021-08-26 01:03:36 -04:00
Nathan Braswell
26e9c5a41f Fix a bug in eval strip not actually stripping in the proper eval way - f there's a later anywhere in there, it has to desist, which is now implemented. Added do tests - we have to add support for & params, which I had forgotten, and I belive it now loops infinately because it tries to partially evaluate a recursive function! 2021-08-25 01:32:24 -04:00
Nathan Braswell
649e0107d4 And lambda is working nicely too, once I added support for val to the function call evaluaator (just looking it up in comb_to_mark_map) 2021-08-24 00:33:29 -04:00
Nathan Braswell
634812cea4 Got it working! 2021-08-23 23:43:47 -04:00
Nathan Braswell
2cd85a552d Some more tests and cleanup, looks like we're going to have to do either a try-eval thing or CPS-style partial evaluator, which I'm reading up on 2021-08-22 20:27:48 -04:00
Nathan Braswell
7700f0b709 FIXED THE BUG! 2021-08-22 13:03:33 -04:00
Nathan Braswell
c9e2e4659b Completely untested, but added partial eval for all array methods and and/or - this is pretty much everything! We don't bother with meta or error/recover right now though 2021-08-17 23:09:42 -04:00
Nathan Braswell
04f1c76bd7 Factored out parameter eval for some combinators and then added combiner? and env? 2021-08-17 20:31:07 -04:00
Nathan Braswell
47d5149400 Implement smart cond partial-eval 2021-08-17 18:17:42 -04:00
Nathan Braswell
772b984de0 Ok, more bugfixes & comments, and got eval working! 2021-08-17 01:19:38 -04:00
Nathan Braswell
e8747ef899 Bugfix and improvment, eval one works even though eval isn't implemented yet! 2021-08-16 11:54:05 -04:00
Nathan Braswell
62a238e041 Added wrap/unwrap and a vau test that uses wrap! 2021-08-16 01:20:10 -04:00
Nathan Braswell
550565a235 More vau usage working 2021-08-16 00:37:56 -04:00
Nathan Braswell
05092cba76 First vau-involved partial evals working! 2021-08-15 01:27:53 -04:00
Nathan Braswell
b3c02c82b3 Create and pass through comb_to_mark_map to allow us to re-mark stripped expressions so we can evaluate them mutliple times, etc, etc 2021-08-11 23:30:49 -04:00
Nathan Braswell
f09962ddc4 Add 2 parameter vau that discards dynamic env 2021-08-10 23:26:22 -04:00
Nathan Braswell
95b37da44e Ok, I think this is a correct? skeleton, implemented as much as I did yesterday 2021-08-10 22:56:12 -04:00
Nathan Braswell
e1fa65deaf Starting work on a partial evaluator - just sketching for now, needs a bunch of work and likely some foundational changes 2021-08-10 00:23:14 -04:00