Commit Graph

1185 Commits

Author SHA1 Message Date
miloignis f4ae4db92d Move call inside form to allow for tracing (might still need a way to get out of the end of tracing) 2023-07-04 12:23:31 -04:00
miloignis b03122c7b8 Move entire Form out of eval into Trait 2023-07-04 10:16:38 -04:00
miloignis d6cf6a6b64 Dependency update 2023-07-02 18:09:34 -04:00
miloignis 3b858eda98 Move primitives to enum - defunctionalized 2023-06-06 01:10:01 -04:00
miloignis 8b9a0a0f2d Start sketching bytecode generation 2023-05-25 02:07:01 -04:00
miloignis ce5ab1dd99 Implemented shift/reset delimited continuations using a defunctionalized double-CPS transformation! Basic tests work at least, there certinally could be bugs 2023-05-22 01:23:17 -04:00
miloignis 4126e25463 everything uses continuations now, skeleton for shift/reset 2023-05-21 04:14:29 -04:00
miloignis d44480bf6c contemplate parameter eval cont 2023-05-16 23:48:26 -04:00
miloignis 093f3c0453 Basic continuation-ification of primitives, finally work out the Cursor/Cont devide. Still need to figure out which Cont's we need for evaluation (possibly a subset of) parameters 2023-05-16 23:31:58 -04:00
miloignis f82101e63f Start moving eval to explicit continuation based 2023-05-16 01:15:09 -04:00
miloignis ea1516fbd1 Started new kv impl with support for mutable cells, just the basic interpreter. Going to add the lazy bytecode interperter next 2023-05-14 23:50:27 -04:00
miloignis 82bfb5bc7b small syntax expl in How it works 2023-04-26 00:39:08 -04:00
miloignis 7431dbe4b7 Add examples 2023-04-26 00:33:08 -04:00
miloignis b2216f7574 Implemented many of Chris and Sharjeel's suggestions - still need to insert a worked example, and if I have time, benchmarks re-run with numbers and memory usage 2023-04-25 21:58:25 -04:00
miloignis 9ec99a94eb presentation updates 2023-04-24 10:48:24 -04:00
miloignis c994f1b1af forgot the images 2023-04-23 17:25:45 -04:00
miloignis febe356575 new slides 2023-04-23 13:02:01 -04:00
miloignis 0df6ce49fe spell checks, adjenda 2023-04-18 13:02:13 -04:00
miloignis 87763fad40 Tons of slide work, unfortunately depend on external MathJax - need to pull that down later 2023-04-18 01:47:10 -04:00
miloignis 5054441625 More work including brain dumping more slides and bugfixes for memo - have found current problem, which is that a non-env se can prevent a DeriComb from pulling in valeus from a real Env frame which it's being returned from - even though this is caught, the resulting call still depends on it, marks it as such, and then it depends on a call that was real and now no longer exists. 2023-04-16 00:02:29 -04:00
miloignis 3dcebe5297 Bunch of new slides with examples comparing Fexprs to Lisp's macros and special forms 2023-04-15 15:41:11 -04:00
miloignis f55dd236b6 Fix one bug, or part of one - dericomb wasn't advancing if se wasn't a legal env, but was still unioning the body IDs into it's ids which could convince it that it should be able to progress 2023-04-15 00:52:52 -04:00
miloignis f4b99067d4 More working memo that tracks used env-ids and env, fixed bugs with it too. Currently trying to track down some infinate loops caused by something that thinks it should make progress and doesn't, have an assert that notices doubles 2023-04-15 00:19:51 -04:00
miloignis a990809e21 Some slide work 2023-04-11 23:17:55 -04:00
miloignis f567172099 share background color 2023-04-08 14:23:56 -04:00
miloignis ee4add2fee Gah my comment messed up the CSS again 2023-04-08 14:16:59 -04:00
miloignis ab700c12b1 and the RemarkJS license 2023-04-08 14:07:41 -04:00
miloignis cad202551b Forgot we moved out to the standalone js 2023-04-08 14:06:07 -04:00
miloignis 4e7825cb2b Hack in copying code between the two editors and fix recursive.css's body style overridding the slides 2023-04-08 14:05:48 -04:00
miloignis 6ef3392aa0 prototype remarkjs slides with Kraken formatting and auto-execute code in browser on slide change! Some rough edges, including two different editors between the first slide and the reveal slide 2023-04-08 13:38:21 -04:00
miloignis b89b831983 Website with changes made with/based on my graphic designer Mom's suggestions (thanks Mom!) 2023-04-05 21:10:04 -04:00
miloignis a06c5854c8 The big exponential thing was ironically Hash which was being called for memo which existed to prevent exponential behavior. Reimplmenented the caching hash, and much much faster. Still some failing tests, and bvau might be looping 2023-04-04 23:40:09 -04:00
miloignis 8ccdfd8ab2 new invariant: when returned, each form is as evaluated as it can be. This means that union_into_tail is more rare, and only for recursion (if or deri) stopped items. If now also captures its environment if it's rec_stopped. Added memoization for legal env forms to try to deal with it, has helped some, still exponential behavior. 2023-04-02 12:48:02 -04:00
miloignis 3c5bb127e2 Work on saving env on calls and suspended symbols, only use as env if legal. Seemingly causing exponential behavior, need to have it done incrementally... todo 2023-03-29 01:58:07 -04:00
miloignis 8fa7acbdf1 Actually using the evaled param lookups with cons pairs etc - Tests failing - need to figure out how to really handle the *weird* case, and also the failing tests if the *wierd* case isn't the cause. Not sure if we need to track to prevent the dropping of the *not* redundant veval, or if the suspended symbol should hold onto the half-done env, or what 2023-03-27 01:27:25 -04:00
miloignis 664b336a48 trac suspended param eval, with proper back conversion 2023-03-27 00:28:44 -04:00
miloignis 70ac3e3633 Add theming and a 'slick' theme based on Inter and JetBrains Mono 2023-03-25 16:59:24 -04:00
miloignis 049624a840 Baby steps towards handling non-val car/cdr (eventually cons) 2023-03-22 01:06:24 -04:00
miloignis 85454fda79 unneeded anchors 2023-03-22 00:27:22 -04:00
miloignis 30c4d4b28c some website edits 2023-03-22 00:24:38 -04:00
miloignis 92bcb6f358 All tests passing when run with --release. Not sure if this is really correct, or if the algorithm is being too wasteful and re-executing versions of functions taht should have been inlined or something (this may esp be true without the parameter/wrap_level stuff, and also I'm a little sus of the env chains - oh hay, it might even just be becasue only legal env chains are allowed which prevents pe-ing) 2023-03-20 01:06:24 -04:00
miloignis 48de9517c9 An unvaled Pair should have a True override for its IDs 2023-03-19 11:15:22 -04:00
miloignis 9162b456d2 Oh some were just changes in formatting. First real issue looks like it's VMAP 2023-03-19 02:03:41 -04:00
miloignis 1df3acccd7 Some tests passing again, namely all of basic and fact 2023-03-19 01:52:18 -04:00
miloignis 7b334e96df Finally finished sketching out the new version, lets get on the compile errors 2023-03-19 00:59:46 -04:00
miloignis 04bf1c6249 Website reformat - content still TBD 2023-03-18 14:57:31 -04:00
miloignis d4920ec4b6 Notes for hopefully the full simple kraken PE, with initial implementation of new NeededIds (split between head and tails (heads are ids for which progress will be made, tails might not progress but are contained), body_under and if_under). 2023-03-15 01:16:37 -04:00
miloignis 865fc1b4b6 Update flake, split ast out into ast & pe_ast, and main into main & test 2023-03-14 20:14:17 -04:00
miloignis 46e6e27f88 pre change 2023-03-14 20:05:39 -04:00
miloignis d836a66e66 more numbers of evals/calls 2023-03-01 00:33:43 -05:00