Commit Graph

902 Commits

Author SHA1 Message Date
Nathan Braswell
9caf220aa1 Added print / string stuff, meta and with-meta, and the old add_grammer_rule 2020-07-21 22:56:29 -04:00
Nathan Braswell
45af192cee Added in basic math, comparison, and boolean operations 2020-07-17 00:00:22 -04:00
Nathan Braswell
41c02d43ff implement cond vector len idx concat - =, all as builtins, as an excercise implemented quote let1 apply rest map lambda fun, all in k_prime itself, proving you don't absolutly need wrap or apply as builtins (eval and vector manipulation functions suffice) 2020-07-13 00:48:01 -04:00
Nathan Braswell
38bf5edc35 implement set! 2020-06-30 21:59:11 -04:00
Nathan Braswell
a5f1355b63 Added eval, which I think completes the key vau parts - will have to see if I can construct lambda soon 2020-06-30 21:17:02 -04:00
Nathan Braswell
9f4dd92834 Add vau 2020-06-28 23:28:15 -04:00
Nathan Braswell
0a1cf4fb4d Swap core vau/kernel style interpreter 2020-06-28 19:17:09 -04:00
Nathan Braswell
2efd3b5474 More object syntax 2020-05-13 20:58:20 -04:00
Nathan Braswell
722a72579a Spelling 2020-05-12 21:30:37 -04:00
Nathan Braswell
bf53d3701f spelling 2020-05-12 16:45:52 -04:00
Nathan Braswell
622aee0c75 Add fib example to web page 2020-05-12 16:36:07 -04:00
Nathan Braswell
c799cf485b Massive updates to the website 2020-05-12 16:22:41 -04:00
Nathan Braswell
dac3e41101 Pass inputs to grammer callbacks as individual parameters 2020-05-12 09:33:33 -04:00
Nathan Braswell
8e296d57c8 Add atom syntax 2020-05-12 09:19:01 -04:00
Nathan Braswell
45ea718bc8 Add in atoms as length-1 vectors to bf.kp, next need to add in reader macros for them. Also the params from earlier 2020-05-12 00:40:36 -04:00
Nathan Braswell
29230404a3 Remove just a tad more of bf 2020-05-12 00:33:29 -04:00
Nathan Braswell
25801b3d3a Add + and * to add_grammer_rule. Realized that rules should actually be passed to functions as params, with option for variadac, that will be up next 2020-05-12 00:32:12 -04:00
Nathan Braswell
77ce4095c0 Fix compiling varadic params, demo method syntax 2020-05-11 23:20:54 -04:00
Nathan Braswell
a7c0c3d78c Lisp object system prototyped! Added necessary C functions and variadic support 2020-05-11 01:08:13 -04:00
Nathan Braswell
9aeadfc224 Add names to BuiltinFunctions so they can be compiled when used by reference, much less hacky and allows our new BF version to be compiled 2020-05-10 21:33:47 -04:00
Nathan Braswell
f10630c66c First working object tests! 2020-05-10 19:29:28 -04:00
Nathan Braswell
3f501a5c2f Added correct compiling of top level vector values, including with meta 2020-05-10 00:50:46 -04:00
Nathan Braswell
4cd7b22c86 Added set-meta! to interp and compile 2020-05-10 00:17:30 -04:00
Nathan Braswell
9ce70badab added reference counted vectors in interp 2020-05-09 23:59:46 -04:00
Nathan Braswell
991a353805 Add compiling with-meta/meta for vectors only to C 2020-05-09 13:30:38 -04:00
Nathan Braswell
5d473d698d Somewhat in the middle - removed list, added meta for interpreter, not yet implemented in compiler 2020-05-09 11:52:32 -04:00
Nathan Braswell
c5153c2977 add explanations of idea, links to paper, current status, and a tiny amount of CSS from https://bestmotherfucking.website/ 2020-05-03 00:48:51 -04:00
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