Also just re-write eval using the parital_eval wrapper, enforce it taking in total-values.
In the future, can allow more partial eval
1) veval, returned from eval and posssibly others, essentailly (unwrap eval), which allows embedding partially-complete evals places without having to do something ugly like (eval (ensure_val partially_evaluated))
2) Relax paramter is total-value to head-value and check for env_id inside it
Immediatly: Debug bad partial evaluation on main test cases & crash with list index out of range
Need to make partial_eval_helper able to fail though, so that it can fail in the now fallible compiler.
Squashed commit of the following:
commit 283150d1e19cf9f74bc32e9c554f5e041d53582d
Author: Nathan Braswell <miloignis@gmail.com>
Date: Tue Jan 18 00:14:51 2022 -0500
Another bugfix, I think now we're truely running into the partial-eval needs to be able to fail part
commit c62c228a1e89e7922850d2070bc046e5f80af5a5
Author: Nathan Braswell <miloignis@gmail.com>
Date: Mon Jan 17 23:34:19 2022 -0500
Fixed needed check, added note on needing to support failing partial eval
commit d480e486210dd5c7c4842e3a3d3e447dc7a5274e
Author: Nathan Braswell <miloignis@gmail.com>
Date: Mon Jan 17 22:14:58 2022 -0500
Fixed compilation bugs, added debugging prints to running.
commit fc4dc4d3170bf1ceb4cd934cff54dd9ce6c8713a
Author: Nathan Braswell <miloignis@gmail.com>
Date: Mon Jan 17 17:28:29 2022 -0500
The unique id / ctx refactor is starting to work, with all basic test cases compiling & partial evaling, but mis-compile bugs remaining