cassowarii [Wed, 22 Jul 2026 23:45:08 +0000 (16:45 -0700)]
minor changes to compile/ir
cassowarii [Mon, 20 Jul 2026 07:16:39 +0000 (00:16 -0700)]
fix a couple bugs w/ pointers + like half of index assignment
cassowarii [Sun, 19 Jul 2026 23:45:43 +0000 (16:45 -0700)]
first pass at pointers. they do work! mostly!
cassowarii [Sun, 19 Jul 2026 05:23:36 +0000 (22:23 -0700)]
update readme slightly
cassowarii [Sun, 19 Jul 2026 05:18:25 +0000 (22:18 -0700)]
a couple random c tweaks
cassowarii [Sun, 19 Jul 2026 04:05:57 +0000 (21:05 -0700)]
shorter / better solution for PE#7
cassowarii [Sun, 19 Jul 2026 03:05:08 +0000 (20:05 -0700)]
delete the now-unused old reference module
cassowarii [Sun, 19 Jul 2026 03:02:21 +0000 (20:02 -0700)]
vars-as-objects system actually working! :O
cassowarii [Sun, 19 Jul 2026 02:21:38 +0000 (19:21 -0700)]
vm/compiler changes for this (still doesn't work)
cassowarii [Sat, 18 Jul 2026 23:59:20 +0000 (16:59 -0700)]
split concept of variables vs values. compiler not working yet though
cassowarii [Sat, 18 Jul 2026 19:32:27 +0000 (12:32 -0700)]
rename hV to hVal; remove unused functions
cassowarii [Tue, 14 Jul 2026 20:55:25 +0000 (13:55 -0700)]
minor syntax tweaks
cassowarii [Tue, 14 Jul 2026 17:57:54 +0000 (10:57 -0700)]
fix clang warnings
cassowarii [Tue, 14 Jul 2026 06:21:18 +0000 (23:21 -0700)]
experimenting with writing a nontrivial amount of code
cassowarii [Mon, 13 Jul 2026 05:13:20 +0000 (22:13 -0700)]
substring, int parsing, project euler #8
cassowarii [Mon, 13 Jul 2026 04:42:26 +0000 (21:42 -0700)]
range indexing a[b..c] (i reserve the right to change this syntax)
cassowarii [Mon, 13 Jul 2026 02:34:09 +0000 (19:34 -0700)]
bound methods for intrinsic types
cassowarii [Mon, 13 Jul 2026 01:34:57 +0000 (18:34 -0700)]
method dispatch cleanup + 'properties' (builtin methods w/o ())
cassowarii [Sun, 12 Jul 2026 23:24:19 +0000 (16:24 -0700)]
project euler #0 (which exposed a bug in my bigint promotion code!)
cassowarii [Sun, 12 Jul 2026 22:42:29 +0000 (15:42 -0700)]
add reduce, max, project euler #7, some other euler updates
cassowarii [Sun, 12 Jul 2026 20:46:53 +0000 (13:46 -0700)]
catch weird syntax errors with non-expr after binary op
cassowarii [Sun, 12 Jul 2026 20:33:00 +0000 (13:33 -0700)]
I had a cool idea for method call semantics. voila, custom methods!
cassowarii [Sat, 11 Jul 2026 05:24:42 +0000 (22:24 -0700)]
more additions to the tree-walker
cassowarii [Sat, 11 Jul 2026 05:19:29 +0000 (22:19 -0700)]
block pipe in situations where it is buggy for now. how to fix?
cassowarii [Sat, 11 Jul 2026 00:19:53 +0000 (17:19 -0700)]
fix list-spill, also make pipe a bit more elegant
cassowarii [Fri, 10 Jul 2026 23:30:56 +0000 (16:30 -0700)]
implicit calling of functions on right side of | operator
cassowarii [Fri, 10 Jul 2026 23:16:15 +0000 (16:16 -0700)]
project euler #6
cassowarii [Fri, 10 Jul 2026 23:15:42 +0000 (16:15 -0700)]
add | operator between expressions; project euler #6
cassowarii [Fri, 10 Jul 2026 21:29:59 +0000 (14:29 -0700)]
list::iota, fix vm bug, project euler #5
cassowarii [Fri, 10 Jul 2026 18:53:20 +0000 (11:53 -0700)]
fix <~
cassowarii [Fri, 10 Jul 2026 18:41:10 +0000 (11:41 -0700)]
add concept of sentinel values for unique message names
cassowarii [Fri, 10 Jul 2026 16:04:38 +0000 (09:04 -0700)]
we can now do multiple print properly
cassowarii [Fri, 10 Jul 2026 15:59:36 +0000 (08:59 -0700)]
flip calling convention: evaluate right to left
cassowarii [Fri, 10 Jul 2026 07:12:40 +0000 (00:12 -0700)]
minor tweaks to get_param
cassowarii [Fri, 10 Jul 2026 13:36:01 +0000 (06:36 -0700)]
fix clang warnings
cassowarii [Fri, 10 Jul 2026 06:51:36 +0000 (23:51 -0700)]
retain/release for integers; don't retain on stack push
cassowarii [Fri, 10 Jul 2026 06:25:25 +0000 (23:25 -0700)]
project euler #3
cassowarii [Fri, 10 Jul 2026 05:48:42 +0000 (22:48 -0700)]
fix some math bugs
cassowarii [Fri, 10 Jul 2026 05:41:50 +0000 (22:41 -0700)]
bigint improvements + printing, float types, math library
cassowarii [Fri, 10 Jul 2026 00:18:59 +0000 (17:18 -0700)]
initial very basic support of bigints.
(the parsing is very memory inefficient. i will rethink the general
memory management strategy of this stuff, i promise!)
cassowarii [Thu, 9 Jul 2026 21:02:14 +0000 (14:02 -0700)]
99 bottles of beer on the wall
cassowarii [Thu, 9 Jul 2026 20:55:18 +0000 (13:55 -0700)]
add printing to samples; fix a couple bugs that got overturned
cassowarii [Thu, 9 Jul 2026 20:24:32 +0000 (13:24 -0700)]
add hello-world to readme
cassowarii [Thu, 9 Jul 2026 20:23:53 +0000 (13:23 -0700)]
finally, global modules! we can print at long, sweet last
cassowarii [Thu, 9 Jul 2026 17:50:38 +0000 (10:50 -0700)]
allow values also in lib tables (to add global modules)
cassowarii [Thu, 9 Jul 2026 16:44:53 +0000 (09:44 -0700)]
some general cleanup / restructuring of a bunch of method code
cassowarii [Thu, 9 Jul 2026 01:46:15 +0000 (18:46 -0700)]
resolve methods with hash table
cassowarii [Wed, 8 Jul 2026 23:49:37 +0000 (16:49 -0700)]
project euler #4, fix bugs
i need to add garbage collecting and print / global stuff for real
cassowarii [Wed, 8 Jul 2026 23:36:30 +0000 (16:36 -0700)]
methods for integer + string, more list methods
I need to restructure how methods are resolved, right now it is bad
cassowarii [Tue, 7 Jul 2026 22:07:09 +0000 (15:07 -0700)]
evaluate repeat..while/until condition inside block scope
cassowarii [Tue, 7 Jul 2026 21:56:07 +0000 (14:56 -0700)]
project euler 02
cassowarii [Tue, 7 Jul 2026 19:02:42 +0000 (12:02 -0700)]
%% operator
cassowarii [Tue, 7 Jul 2026 18:56:44 +0000 (11:56 -0700)]
project euler #1 (eventually i will add more convenience methods here)
cassowarii [Tue, 7 Jul 2026 18:55:26 +0000 (11:55 -0700)]
"any?" and "all?" methods for lists
cassowarii [Tue, 7 Jul 2026 18:43:53 +0000 (11:43 -0700)]
map and filter methods for lists
cassowary [Tue, 7 Jul 2026 18:17:58 +0000 (11:17 -0700)]
Update README.md
cassowarii [Tue, 7 Jul 2026 07:20:08 +0000 (00:20 -0700)]
plain 'return' + postfix 'if'/'unless'
cassowarii [Tue, 7 Jul 2026 07:03:48 +0000 (00:03 -0700)]
boolean literals + mod operator
cassowarii [Tue, 7 Jul 2026 06:49:09 +0000 (23:49 -0700)]
fix another VM instruction bug
cassowarii [Mon, 6 Jul 2026 20:29:21 +0000 (13:29 -0700)]
add a couple more methods to lists
cassowarii [Mon, 6 Jul 2026 17:53:45 +0000 (10:53 -0700)]
fix a few small bugs
cassowarii [Mon, 6 Jul 2026 04:57:53 +0000 (21:57 -0700)]
better/more consistent VM model
cassowarii [Sun, 5 Jul 2026 22:57:20 +0000 (15:57 -0700)]
add README
cassowarii [Sun, 5 Jul 2026 22:56:44 +0000 (15:56 -0700)]
fix a couple errant oversights, squash a few memory leaks
cassowarii [Sun, 5 Jul 2026 22:05:57 +0000 (15:05 -0700)]
more portable printing; callbacks from native code to script
cassowarii [Fri, 3 Jul 2026 23:22:16 +0000 (16:22 -0700)]
initial stab at method calls; *almost* works, but not quite
cassowarii [Fri, 3 Jul 2026 05:26:36 +0000 (22:26 -0700)]
"un-splatting" function params. + start reworking assignment in general
cassowarii [Fri, 3 Jul 2026 00:23:08 +0000 (17:23 -0700)]
list splatting
cassowarii [Thu, 2 Jul 2026 20:25:47 +0000 (13:25 -0700)]
temporal dead zone
cassowarii [Thu, 2 Jul 2026 04:55:03 +0000 (21:55 -0700)]
split out ir printing; mutual + recursive function calling
cassowarii [Thu, 2 Jul 2026 04:26:53 +0000 (21:26 -0700)]
LEXICAL CLOSURES
cassowarii [Wed, 1 Jul 2026 04:56:44 +0000 (21:56 -0700)]
hash literals!! + read indexing
cassowarii [Wed, 1 Jul 2026 00:58:53 +0000 (17:58 -0700)]
LISTS in code!! wow!! so cool!!!
cassowarii [Tue, 30 Jun 2026 23:25:22 +0000 (16:25 -0700)]
list data module
cassowarii [Tue, 30 Jun 2026 22:32:41 +0000 (15:32 -0700)]
whoops, forgot to initialize pointers here
cassowarii [Tue, 30 Jun 2026 22:03:16 +0000 (15:03 -0700)]
factor out 'allocation pool' code from string + hash table
cassowarii [Tue, 30 Jun 2026 19:03:17 +0000 (12:03 -0700)]
basic constant folding
cassowarii [Tue, 30 Jun 2026 14:40:24 +0000 (07:40 -0700)]
make debug flags turn on and off with a compiler switch
cassowarii [Tue, 30 Jun 2026 14:28:53 +0000 (07:28 -0700)]
we can have negative numbers now
cassowarii [Tue, 30 Jun 2026 13:32:40 +0000 (06:32 -0700)]
fix a couple bytecode compiler bugs
cassowarii [Tue, 30 Jun 2026 05:08:56 +0000 (22:08 -0700)]
forward jumps! now if and while work
cassowarii [Tue, 30 Jun 2026 04:28:15 +0000 (21:28 -0700)]
we can actually run (very simple) programs! AMAZING
cassowarii [Tue, 30 Jun 2026 01:55:42 +0000 (18:55 -0700)]
janky beginnings of emitting bytecode
cassowarii [Mon, 29 Jun 2026 23:29:54 +0000 (16:29 -0700)]
better error reporting + a few variable scope fixes
cassowarii [Mon, 29 Jun 2026 19:20:37 +0000 (12:20 -0700)]
consolidate variable slots, track variable function scopes
cassowarii [Mon, 29 Jun 2026 17:48:45 +0000 (10:48 -0700)]
simple label jump optimization
cassowarii [Mon, 29 Jun 2026 15:50:29 +0000 (08:50 -0700)]
function definitions as chunks + function calls in IR
cassowarii [Mon, 29 Jun 2026 04:58:37 +0000 (21:58 -0700)]
update comments
cassowarii [Mon, 29 Jun 2026 04:55:17 +0000 (21:55 -0700)]
fix minor parser bug, IR can do multi-assignment now
cassowarii [Mon, 29 Jun 2026 04:25:41 +0000 (21:25 -0700)]
(janky) lexical variable scoping + assignment in IR
cassowarii [Mon, 29 Jun 2026 02:54:10 +0000 (19:54 -0700)]
Basic framework for IR code generation
cassowarii [Sun, 28 Jun 2026 19:13:23 +0000 (12:13 -0700)]
conditional jumps and such in VM
cassowarii [Sun, 28 Jun 2026 16:40:55 +0000 (09:40 -0700)]
very basic VM/bytecode functionality! it works! we can add numbers!
cassowarii [Sun, 28 Jun 2026 04:15:32 +0000 (21:15 -0700)]
some initial supports for bytecode VM
cassowarii [Sun, 28 Jun 2026 01:25:18 +0000 (18:25 -0700)]
clean up imports a bit
cassowarii [Sun, 28 Jun 2026 01:21:34 +0000 (18:21 -0700)]
actually the <~( ... ) should work like this
cassowarii [Sun, 28 Jun 2026 01:16:30 +0000 (18:16 -0700)]
<~ syntax was weird to parse, so use invisible () to clarify
cassowarii [Sun, 28 Jun 2026 00:34:06 +0000 (17:34 -0700)]
forgot about this syntax
this currently won't work on something like a.[b], because the layer-2
lexer doesn't know to put () there. i'm not sure if this syntax is a
good idea anyway though, it seems confusing
cassowarii [Sun, 28 Jun 2026 00:23:11 +0000 (17:23 -0700)]
i think this is all the basic syntax i had in mind
(except @declarations, but those are just syntax sugar, we'll come back
to those!)
cassowarii [Sat, 27 Jun 2026 21:34:09 +0000 (14:34 -0700)]
more parser stuff + much more friendly syntax error reporting