Nathan Braswell
|
999d21746e
|
inline dup and most of drop, relative added to benchmarks, added first basic run (without any of the complex stuff implemented) of local type inference and use it to do word value equality if possible
|
2022-06-27 01:48:07 -04:00 |
|
Nathan Braswell
|
71ad070922
|
inline get_ptr with slightly more efficiency
|
2022-06-24 00:39:10 -04:00 |
|
Nathan Braswell
|
ae320ba31b
|
Most things seem to be working now, with new benchmarks. Not sure if a small memory leak is now or was there before
|
2022-06-23 01:00:27 -04:00 |
|
Nathan Braswell
|
04f3b2dbd9
|
Fixed static type errors, test runs now. Rbtree test has a dynamic indirect call failure, so there are still more issues to find
|
2022-06-22 14:04:56 -04:00 |
|
Nathan Braswell
|
1c3ee27547
|
More fixes, runs test now, but generated wasm has type errors
|
2022-06-22 01:43:04 -04:00 |
|
Nathan Braswell
|
6605050590
|
More bugfixes and debugging
|
2022-06-22 01:26:21 -04:00 |
|
Nathan Braswell
|
bf8d25e551
|
Fix a bunch of syntax errors
|
2022-06-22 00:46:35 -04:00 |
|
Nathan Braswell
|
b665877add
|
Finish first pass through refactoring all tagging. Need to test and bugfix
|
2022-06-21 23:25:04 -04:00 |
|
Nathan Braswell
|
b7bfc314e6
|
Did most of re-tagging, pick back up porting at compile
|
2022-06-21 02:18:06 -04:00 |
|
Nathan Braswell
|
dda581f839
|
Initial interning of symbols
|
2022-06-20 17:20:50 -04:00 |
|
Nathan Braswell
|
e77358c8b4
|
Merge branch 'palindrome'
|
2022-05-19 01:01:06 -04:00 |
|
Nathan Braswell
|
c7f3ee0e18
|
Formatting fix, end to end test run
|
2022-05-19 00:56:18 -04:00 |
|
Nathan Braswell
|
3eea883ebd
|
Combine benchmark tables
|
2022-05-19 00:49:09 -04:00 |
|
Nathan Braswell
|
fefae631e2
|
Add java ocaml and swift tests
|
2022-05-19 00:43:27 -04:00 |
|
Nathan Braswell
|
62c0958006
|
Added haskell versions (parameterized by CLI argument)
|
2022-05-18 23:59:18 -04:00 |
|
Nathan Braswell
|
4481784666
|
Update README.md
|
2022-05-18 05:31:43 +00:00 |
|
Nathan Braswell
|
a0c4eb3eaf
|
sigh, accidentally committed .wasm
|
2022-05-18 01:29:23 -04:00 |
|
Nathan Braswell
|
81a54b5a06
|
Old .gitignore actually prevent the kraken versions of the benchmarks from being comitted, scarily enough - also some of the c fib tests
|
2022-05-18 01:28:49 -04:00 |
|
Nathan Braswell
|
34c6d01c31
|
Implement deriv benchmark
|
2022-05-18 01:26:08 -04:00 |
|
Nathan Braswell
|
7fef7eba85
|
Add cfold benchmark - can't go over 5 (though Koka uses 20) because wasm runs out of stack. Not entirely sure how to handle that - I imagine we're emitting far to much on the stack frame, but also I would hope wasmtime would optimize it, and I additionally can't find a way to raise wasmtime's limit from the cli... It is worth noting that Koka notes that cfold is a benchmark that can exhaust the stack
|
2022-05-17 23:34:46 -04:00 |
|
Nathan Braswell
|
e6a1ad5bf3
|
Add nqueens benchmark (new kraken impl, with koka and cpp moved over from koka_bench)
|
2022-05-16 23:00:56 -04:00 |
|
Nathan Braswell
|
5ee4020c2b
|
Update readme to state source of koka_bench and to call out the different license for that directory
|
2022-05-16 02:36:30 -04:00 |
|
Nathan Braswell
|
b1b060292e
|
Moved over first rbtree test from koka_bench and integrated Kraken via compiler wrapper script that calls the partial_evaluator / compiler and then emits a wrapper script that runs the resulting wasm via wasmtime.
|
2022-05-16 02:33:10 -04:00 |
|
Nathan Braswell
|
025ca41c59
|
Add support for command line arguments as a monad
|
2022-05-16 01:35:36 -04:00 |
|
Nathan Braswell
|
8c773fd0d8
|
Add deallocation in TCE for rare-er stuff - our test doesn't actually use it yet
|
2022-05-14 02:20:05 -04:00 |
|
Nathan Braswell
|
8bc092cdeb
|
GAH the matching.kp was using the old broken Y combinator, fixing it makes it work. We're, uh, 682x slower than Koka
|
2022-05-14 01:46:53 -04:00 |
|
Nathan Braswell
|
6683344357
|
Initial implementation of TCE - doesn't properly drop params/locals, and doesn't activate for the RB-Test for some reason, but does run for the long_fact
|
2022-05-12 00:34:19 -04:00 |
|
Nathan Braswell
|
50d68c3424
|
Groundwork for Tail Call Elimination. Prints out when it should happen, but doesn't actually do it
|
2022-05-11 00:59:41 -04:00 |
|
Nathan Braswell
|
20c46af986
|
Merge branch 'master' of github.com:Limvot/kraken
|
2022-05-09 23:42:45 -04:00 |
|
Nathan Braswell
|
a966c0c0ba
|
Using a nice Pure Nix Flake now, implement Koka-style rb-tree test (only running on 100 instead of 42,000,000 - .06s compiled, 40m54s interpreted!!!), also a small fact to test loops - spoiler alert we need tail-call-elimination
|
2022-05-09 23:42:39 -04:00 |
|
Nathan Braswell
|
5369e58eed
|
Update matching.kp
|
2022-05-09 14:35:01 -04:00 |
|
Nathan Braswell
|
20d554dfe6
|
Fixed dropping 0-length arrays, RB-Tree seems to work well now!
|
2022-05-08 19:38:44 -04:00 |
|
Nathan Braswell
|
7e7a7c3b32
|
Merge branch 'master' of github.com:Limvot/kraken
|
2022-05-08 01:34:38 -04:00 |
|
Nathan Braswell
|
8dd28370c1
|
Ported RedBlack-Tree based on our new match. Seems to work, though compiled version crashes on memory-out-of-bounds while interpreted works - will have to debug later
|
2022-05-08 01:34:33 -04:00 |
|
Nathan Braswell
|
746933f21e
|
Update README.md
|
2022-05-07 20:19:18 +00:00 |
|
Nathan Braswell
|
ca68826fbc
|
Clean up and rearrange
|
2022-05-07 16:09:16 -04:00 |
|
Nathan Braswell
|
08c01257f3
|
Add matching on quoted symbols
|
2022-05-07 15:07:03 -04:00 |
|
Nathan Braswell
|
6140a7a006
|
Comment out un-val error message generation, was taking an absurd amount of space in final binary
|
2022-05-07 14:52:32 -04:00 |
|
Nathan Braswell
|
9bb6104952
|
Much more real match with arrays and unquote, also added unquote to parser and made log return its last argument
|
2022-05-06 00:35:31 -04:00 |
|
Nathan Braswell
|
c3b2a852b7
|
Fix debug not being called because of the function index renumbering, add calling debug for calling not a function in eval. For some reason this crashes redebug :/
|
2022-05-03 23:25:56 -04:00 |
|
Nathan Braswell
|
172512f447
|
Fix array inequality case
|
2022-05-03 22:49:50 -04:00 |
|
Nathan Braswell
|
2a6ee6d8e4
|
Fix inlineing se not being set to nil (but default 0 by wasm) so it always equaled 0
|
2022-05-03 22:09:37 -04:00 |
|
Nathan Braswell
|
d420b6491f
|
Fix regression - was using the wrong error when blocking recursion and treating as real error instead of stop recursion fallback
|
2022-04-25 09:19:14 -04:00 |
|
Nathan Braswell
|
223147f699
|
Initial inlining working - fib_let went from .4 something to .138. Suspect the remaining slowdown over fib is extra refcounting calls, but unsure. Compile error on fib_manual, need to see whether it was this change or the earlier find fixes
|
2022-04-25 09:07:42 -04:00 |
|
Marcus "Mark" Godwin
|
40008ffa23
|
Add a palindrome test file.
|
2022-04-25 01:45:07 -04:00 |
|
Nathan Braswell
|
8b3cab7a2f
|
Fix multiple cond/slice bugs revealed by LotusRonin's new find testcase
|
2022-04-24 20:39:51 -04:00 |
|
Nathan Braswell
|
8a876a7b29
|
Merge pull request #6 from Limvot/md5_hash_func
Add 32 bit int to hex string and leftrotate impls. Also some string functions
|
2022-04-23 13:42:22 -04:00 |
|
Nathan Braswell
|
6c51639c6e
|
Thread through inline_symbols and inline_level to prep for inlining impl
|
2022-04-23 01:41:52 -04:00 |
|
Nathan Braswell
|
18250e716f
|
Ah, the remaining calls were to =. Added 'inlining' the = and comp_helper loop into repeated calls to comp_helper_helper, eliminating the param array overhead. Now fib only allocates 10 times (instead of 4 million), and runs in .107s, finally beating Python handilly and becoming about 2x as slow as Chez. Feels like a decent spot for now, and that was most all of the low hanging fruit. The only thing left now is inlining of user functions to get fib_let performing as well - it looks glacial now at .4s because of the 2 remaining closure calls that the let expands to
|
2022-04-21 01:09:10 -04:00 |
|
Marcus "Mark" Godwin
|
1c9944acab
|
Implement some string funcs
|
2022-04-21 00:30:51 -04:00 |
|