Nathan Braswell
|
8dadf07759
|
Add missing funcs, add offset support to wasm load/store, start in on monad impl
|
2021-12-25 21:01:58 -05:00 |
|
Nathan Braswell
|
f376a75f4c
|
Stubs for compiling function body
|
2021-12-25 01:38:49 -05:00 |
|
Nathan Braswell
|
5097a11bb6
|
More work on compiling comb, adding wrap level to comb, placeholders for all builtins, memoization
|
2021-12-24 17:26:41 -05:00 |
|
Nathan Braswell
|
69b87cbe72
|
Started sketching functions, swaped env's representation around
|
2021-12-22 23:42:25 -05:00 |
|
Nathan Braswell
|
eade335e86
|
off by one, of course
|
2021-12-18 14:57:52 -05:00 |
|
Nathan Braswell
|
75536f6fb9
|
Starting compilation / printing of builtin combiners
|
2021-12-18 14:55:54 -05:00 |
|
Nathan Braswell
|
c4c2d73469
|
Compilation and pretty-printing of environments. Still need to look at exactly why the additive length constant for the upper-env is 5 when I'm less tired
|
2021-12-14 00:50:48 -05:00 |
|
Nathan Braswell
|
3538de9498
|
Add in compiling and printing of array values
|
2021-12-12 15:32:52 -05:00 |
|
Nathan Braswell
|
f865bccdda
|
Add support for negative integers
|
2021-12-08 22:35:44 -05:00 |
|
Nathan Braswell
|
b724493926
|
Add support for (positive) integer printing, not just a single digit!
|
2021-12-08 01:22:18 -05:00 |
|
Nathan Braswell
|
7dfe4e0d7c
|
Add symbol emitting, rearrange encoding to make things nicer, implement more sophisticated to string setup with length etc
|
2021-12-06 01:58:38 -05:00 |
|
Nathan Braswell
|
b3dfd577cd
|
String constants working, which involved more work than expected. Lots of fixes for strings, LEB128, etc, and making the top level section func return arrays so that I can programatically generate a concatted array of them and insert it no problem. Technically, you can now compile Hello, World! for Kraken, since it prints the string constant you compile :D
|
2021-12-04 01:11:55 -05:00 |
|
Nathan Braswell
|
025239947f
|
Add i32 and i64 condition operations, hex escapes to data strings, and add ability to print out true and false to generated code
|
2021-12-02 00:24:40 -05:00 |
|
Nathan Braswell
|
25615815b2
|
bugfixes func type splitter, add more ins, trivial malloc and free, start working on print.
|
2021-11-29 01:51:54 -05:00 |
|
Nathan Braswell
|
f7f425b32f
|
Ultra tiny skeleton starting compiler - will read, trivially partially evaluate, then near trivally generate wasm that prints a single digit literal
|
2021-11-28 01:25:46 -05:00 |
|
Nathan Braswell
|
505dc46998
|
Add an extra level of lambda and pass around name dict in order to get around not having vau (+ quotation on symbols when referenced)
|
2021-11-28 00:57:35 -05:00 |
|
Nathan Braswell
|
de8073d1fc
|
Actually make the demo runnable
|
2021-11-27 22:13:07 -05:00 |
|
Nathan Braswell
|
4956596f30
|
Port (slightly hackilly) the rest of wasm.kp
|
2021-11-27 21:49:41 -05:00 |
|
Nathan Braswell
|
65c9d0b486
|
Port basic (non vau syntax coolness) WASM emiting code, can output empty file at least (haven't tested more complex yet, but the code is there)
|
2021-11-26 23:28:06 -05:00 |
|
Nathan Braswell
|
e0244d0489
|
Hay recursion works!
|
2021-11-26 12:31:39 -05:00 |
|
Nathan Braswell
|
8ab15fff41
|
Add hashing (interestingly, arbitrary long hashes with Scheme's infinite precision)
|
2021-11-25 23:57:23 -05:00 |
|
Nathan Braswell
|
a036936e3b
|
It all works! I belive all test cases from the prior partial_eval.kp work in partial_eval.csc now :D
|
2021-11-24 00:45:44 -05:00 |
|
Nathan Braswell
|
f3525def87
|
Fix, some more tests. Need to figure out the prim comb things
|
2021-11-23 22:49:54 -05:00 |
|
Nathan Braswell
|
60cd7b1ffa
|
First Vau call working!
|
2021-11-23 22:16:24 -05:00 |
|
Nathan Braswell
|
96ea2fad8d
|
Port over most of the rest, some left commented out. Need to figure out how we actually want to handle prim_combs putting themselves in the output. This comes up a lot with give_up_eval_params. Also, '() = nil counts as true for if in Scheme, need to figure that out :/
|
2021-11-23 01:54:20 -05:00 |
|
Nathan Braswell
|
7c32c3811a
|
Fix indexing bug, first partial eval!
|
2021-11-22 01:46:59 -05:00 |
|
Nathan Braswell
|
d26fcee9b6
|
Port more, start fixing bugs. Something weird with slice/drop/take
|
2021-11-22 01:28:05 -05:00 |
|
Nathan Braswell
|
b3261f3db0
|
Bunch more ported, including all of the actual partial_eval function
|
2021-11-20 01:13:22 -05:00 |
|
Nathan Braswell
|
551e60cfe1
|
Destructuring lambda, fix for compiling
|
2021-11-19 01:08:27 -05:00 |
|
Nathan Braswell
|
d4ff61ade5
|
Some work from previously, and also now an implementation of destructuring let
|
2021-11-16 00:15:53 -05:00 |
|
Nathan Braswell
|
627ccb4aa0
|
Begin port of partial_eval to Chicken Scheme, with a bunch of stuff to define a vaguely kraken-like environment in scheme
|
2021-11-09 00:35:58 -05:00 |
|