Commit Graph

1075 Commits

Author SHA1 Message Date
Nathan Braswell
e6e053eaff create rudimentary try-kraken-online 2020-05-03 00:10:09 -04:00
Nathan Braswell
c61b9d3c22 fixed closeing with strings 2020-04-25 13:05:56 -04:00
Nathan Braswell
e74c883132 throw and catch implemented 2020-04-23 13:04:27 -04:00
Nathan Braswell
ae150b17fa Added atoms! atom, deref, swap!, literal support 2020-04-23 00:15:39 -04:00
Nathan Braswell
2baad06e8c Add string literals and symbols, print support for both as well as lists and vectors 2020-04-22 21:10:46 -04:00
Nathan Braswell
19ae75b819 Fix the quoting compile 2020-04-20 01:22:45 -04:00
Nathan Braswell
d726705845 Add creation and indexing of lists and vectors, with their literal forms. Compiling quote has a bug though, and passes through - will have to consider how to fix 2020-04-20 01:16:34 -04:00
Nathan Braswell
b505c021f2 Implemented closures 2020-04-19 21:52:21 -04:00
Nathan Braswell
dff7306cc3 Change to raw string 2020-04-19 01:25:20 -04:00
Nathan Braswell
50817b567f Fix my fact impl, add print and println 2020-04-18 13:36:46 -04:00
Nathan Braswell
cc833015c3 Can compile functions depending on other top level functions and values 2020-04-17 10:31:38 -04:00
Nathan Braswell
bed1871ad3 Check type of main return 2020-04-14 23:59:52 -04:00
Nathan Braswell
3141ad1d1d parameters working 2020-04-14 23:53:12 -04:00
Nathan Braswell
ed01b5f580 Parameterless functions working 2020-04-14 23:34:23 -04:00
Nathan Braswell
8da9190b3d Add type checking to make sure compiled lang is safe 2020-04-14 14:35:01 -04:00
Nathan Braswell
7cf8ca8b80 Function calls work, builtin functions operating on ints 2020-04-13 23:42:32 -04:00
Nathan Braswell
4b44277d30 emit if and true/false/nil constants 2020-04-13 22:55:25 -04:00
Nathan Braswell
05c77e3ad9 let* generated 2020-04-13 22:45:40 -04:00
Nathan Braswell
813d31cb2b Working on C generator for k_prime, can compile single number return 2020-04-12 15:52:45 -04:00
Nathan Braswell
cb54429d1a Remove keywords and maps from k_prime to make it leaner 2020-04-12 00:25:11 -04:00
Nathan Braswell
c4078aa5e1 added optional_WS back 2020-04-10 23:11:17 -04:00
Nathan Braswell
7a6a1e0d82 reformat 2020-04-10 23:08:31 -04:00
Nathan Braswell
721dc203be Loop function can be simpler 2020-04-10 23:05:05 -04:00
Nathan Braswell
7bc58e904e BF implementation as GLL macros 2020-04-10 22:46:53 -04:00
Nathan Braswell
256006f1c6 allow emtpy list, vec, dict 2020-04-02 14:47:50 -04:00
Nathan Braswell
80e31b8f6e Forgot my io mod 2020-04-02 14:23:49 -04:00
Nathan Braswell
3591b90265 Also commit the syntax playground 2020-04-02 14:15:41 -04:00
Nathan Braswell
8eab986395 missed division 2020-04-01 11:54:05 -04:00
Nathan Braswell
b9adcdd3c6 Fix longest 2020-04-01 11:47:04 -04:00
Nathan Braswell
f70cc8030e fix comment handling (including at beginning of files) 2020-03-31 15:46:03 -04:00
Nathan Braswell
ed33f967ce Make adding grammer rules way more ergonomic from k_prime, implmeent reader macros with it now! Note I changed splice-unqote from ~@ to , as ~@ is legal as unquote deref and causes ambigious parses 2020-03-31 15:15:45 -04:00
Nathan Braswell
494e22007d Fix hardcoded reader macros, add eval-read-string, fix niceness of whitespace between forms in repl and files. Next should be to redo the parser api to be way nicer from within kraken' 2020-03-30 19:51:01 -04:00
Nathan Braswell
a811b28bc1 SELF MODIFYING GRAMMER WORKS! 2020-03-29 22:07:55 -04:00
Nathan Braswell
40f0125ed1 whoops, messed up true,false,nil - were being parsed as symbols 2020-03-29 20:56:27 -04:00
Nathan Braswell
f86a6a600b Remove old parsing 2020-03-29 20:49:50 -04:00
Nathan Braswell
ce7d228358 Use the new parser (now with reduction functions) for mal 2020-03-29 20:42:51 -04:00
Nathan Braswell
a9bb011bd9 Starting to make k_prime lisp grammer, doing testing to get all MAL test cases parsing 2020-03-28 00:23:01 -04:00
Nathan Braswell
1fa60a5496 Pretty printing of BSR 2020-03-27 18:35:32 -04:00
Nathan Braswell
676c0ded4d IT WORKS 2020-03-27 00:16:16 -04:00
Nathan Braswell
3cef008a93 Now it compiles 2020-03-26 23:34:25 -04:00
Nathan Braswell
a10238e493 Parses (Kraken, not the parser ;) ) 2020-03-26 22:08:39 -04:00
Nathan Braswell
6d1f3bb73f fungll sketch 2020-03-25 22:55:57 -04:00
Nathan Braswell
2d6c1880ff MaL implementation in Kraken 2020-03-10 12:57:28 -04:00
Nathan Braswell
2bc9ce497b FINALLY FIXED THE PROBLEM - was using set instead of set_single, so it set it's child as well, causing the type loop. Also, the binding replace child evaluated the parameters first, changing t's parent before t->parent->replace_child happened 2019-07-13 18:01:04 -04:00
Nathan Braswell
148d70e2d4 Man, I was just missing initting to null and it would have run 2019-01-06 22:04:56 -05:00
Nathan Braswell
c2495a04f8 binding epochs compile, but segfault. too late tonight to keep going 2019-01-06 01:06:15 -05:00
Nathan Braswell
06df819e72 Port (though ineffecently) defer_lower! 2018-12-29 20:58:34 -05:00
Nathan Braswell
ed57d2b2a9 Added sizeof and fixed inferencing from explicitly instantiated template functions so that new and delete work! (though not traits yet...) 2018-12-29 16:35:47 -05:00
Nathan Braswell
235775c077 Basic veriadic, ext, and declaration only support, allowing us to use printf! Unifying with veriadic might need work (does it need ref treatment?) 2018-12-29 14:50:58 -05:00
Nathan Braswell
4ec59690cf String value support 2018-12-29 13:32:32 -05:00