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 |
|
Nathan Braswell
|
eccc4c87a6
|
Finally, ref lowering! A little hacky, but not terrible...
|
2018-12-29 12:19:54 -05:00 |
|
Nathan Braswell
|
b356b793aa
|
Groundwork for ref_lower pass
|
2018-12-28 01:14:54 -05:00 |
|
Nathan Braswell
|
deda17e18b
|
groundwork for refs, moved ref indicator into fun type
|
2018-12-27 15:14:28 -05:00 |
|
Nathan Braswell
|
2cf4a2f664
|
emit structs with poset to fix C ordering. Structs might fully work now! Still need to do testing around templated versions and pointers
|
2018-12-27 00:59:26 -05:00 |
|
Nathan Braswell
|
ca082c29bd
|
Add in a top_level_type_resolve pass so that we properly have all the identifiers in our top level types resolved by the time we get to the meater resolve type passes, which may have to use them for scoping (with access op, etc)
|
2018-12-26 20:34:06 -05:00 |
|
Nathan Braswell
|
b11ff424ac
|
Dedup scope lookup
|
2018-12-22 13:37:54 -05:00 |
|
Nathan Braswell
|
5eb9c08fd0
|
Fix naming problem by realizing that we should allow variable shadowing anyway (anything that's not a function, that is) and we know what is and isn't a function based on the type of the binding from our type unification, so we just check to see if we're not a function type, and if so, just take our first result
|
2018-12-19 17:32:41 -05:00 |
|
Nathan Braswell
|
66f82062ba
|
Almost have scoped . working, in fact it is, but having objects with member names has problems (like o.o) if the member function is in scope. (it thinks maybe you're trying to call o on itself...)
|
2018-12-18 02:51:44 -05:00 |
|
Nathan Braswell
|
eadadd5576
|
Combine resolve_possiblities and name_type_resolve in prep for scopes depending on types
|
2018-12-13 01:04:16 -05:00 |
|
Nathan Braswell
|
862132ba88
|
fix indentation for one case
|
2018-12-13 00:21:30 -05:00 |
|
Nathan Braswell
|
92e2844616
|
Add in normal method style
|
2018-12-12 23:56:14 -05:00 |
|
Nathan Braswell
|
eb5e21a993
|
Fix prior template caching for templated functions
|
2018-12-12 23:42:57 -05:00 |
|
Nathan Braswell
|
3f2d51ba75
|
Fixed type unification for templates! Next up is adding to the scope for .
|
2018-12-07 01:08:12 -05:00 |
|
Nathan Braswell
|
3e6dc2c5ee
|
Merge branch 'master' of https://github.com/limvot/kraken
|
2018-12-05 23:43:28 -05:00 |
|
Nathan Braswell
|
0153054a4c
|
work on k
|
2018-12-05 23:43:24 -05:00 |
|