miloignis
  • Joined on 2023-01-28
miloignis pushed to master at miloignis/kraken 2023-02-14 05:50:09 +00:00
66fc1db606 Implemented Display for Form, then first sketch of MarkedForm, NeededIds, and unval, and Display for MarkedForm
miloignis pushed to main at miloignis/nix_config 2023-02-14 03:45:36 +00:00
70b0826800 updates
miloignis pushed to master at miloignis/kraken 2023-02-13 06:08:37 +00:00
ad3c251ba9 implement non-varidic and/or and start porting match. Need to make and/or varidac and continue match work
miloignis pushed to master at miloignis/kraken 2023-02-13 05:42:57 +00:00
3df7d6e0ec Finish converting into individual tests (mostly) - might need to split out and uncomment some should-fail tests
miloignis pushed to master at miloignis/kraken 2023-02-12 21:17:03 +00:00
e9b8f636cf Start splitting out the tests into multiples, with the library code at top level in once_cell's Lazy
miloignis pushed to master at miloignis/kraken 2023-02-12 18:32:48 +00:00
5838cf0bdd Added 'assert', and changed match_params to assert that when the param tree is nil so are the passed params, which should handle exact length for functions etc.
miloignis pushed to master at miloignis/kraken 2023-02-12 17:19:59 +00:00
5512ab8804 Fix warnings, add destructuring let1
miloignis pushed to master at miloignis/kraken 2023-02-12 16:56:36 +00:00
30964bf4ec Better BVAU, which does full trees-of-symbols destructuring with varidic support!
miloignis pushed to master at miloignis/kraken 2023-02-11 05:34:27 +00:00
c028e975d4 Add wrap, vfoldl, zipd, concat, bvau, and lambda! Need to add varidac handling to bvau, but getting tired
miloignis pushed to master at miloignis/kraken 2023-02-11 04:05:10 +00:00
1b813e39fb Fix vapply bug, write vmap, add debug
miloignis pushed to master at miloignis/kraken 2023-02-11 03:34:07 +00:00
606972a38b Implement vapply, got around the ever-growing environment
miloignis pushed to master at miloignis/kraken 2023-02-11 00:38:47 +00:00
3c2dfbf8a7 Add tail call recursion - works, but if a datastructure is too deep (say, because env keeps growing on the heap) Rc::drop will end up overflowing the stack when trying to deallocate
miloignis pushed to master at miloignis/kraken 2023-02-10 06:01:07 +00:00
ba67b8c67b Add "!" syntatic form - a bit like the single quote, but !(a b c) d => !(a b c d). Useful for like !(let a 1) (+ a 3) or w/e. Break out some of the infinate nesting"
miloignis pushed to master at miloignis/kraken 2023-02-09 06:20:22 +00:00
3b5cc2c506 Implement a new style of let1 based on direct env manipulation
miloignis pushed to master at miloignis/kraken 2023-02-09 04:37:27 +00:00
02e359f42d Finish out the basic primitives along with testing infra for both parsing and evalaution, with some slick Into<> impls to make Rust values Kraken values, which is esp useful for testing
miloignis pushed to master at miloignis/kraken 2023-02-08 06:54:56 +00:00
d861d91397 Fix ', add if and = along with bools
miloignis pushed to master at miloignis/kraken 2023-02-07 18:00:18 +00:00
c801f604c2 Add derived combiners and fix some bugs with eval, vau, quote, cons, car, cdr
miloignis pushed to master at miloignis/kraken 2023-02-07 07:07:57 +00:00
60dad101f8 Speed sketch beginnings of a Rust implementation of new stripped-down Scheme-like Kraken
miloignis pushed to master at miloignis/kraken 2023-02-02 06:18:20 +00:00
3807381ceb Sketch out call-info, realized it and function-analysis needs pectx and also err threaded through it, since it can fail (which must be recoverable) and needs env and pectx for partial_eval inside
miloignis pushed to master at miloignis/kraken 2023-02-01 06:01:40 +00:00
bea48eb18b Reviewing and making notes about analysises, looking to see if they can be implemented with a generic traversal or something