Commit Graph

30 Commits

Author SHA1 Message Date
tali f3954e6ca5 refactor interpreter to use bytecode graph 2023-12-23 14:35:55 -05:00
tali 31da3529a5 bytecode graph ir 2023-12-23 14:35:55 -05:00
tali d66b336435 rework the interpreted bc to resemble the prospective actual bc 2023-12-21 18:13:26 -05:00
tali 5ebb404276 comments 2023-12-14 16:13:34 -05:00
tali c080982044 implement closure conversion on Ir.id's 2023-12-13 19:19:19 -05:00
tali c986aa6ec0 env cons-list instead of tree structure 2023-12-13 18:22:55 -05:00
tali 752d36d855 deny referencing variables outside of captured scope 2023-12-13 18:16:23 -05:00
tali 21bc2c3cb3 newlines are overrated am i right 2023-12-13 17:38:30 -05:00
tali 37377c044d rename Ir.compile_lambda => lower_lambda 2023-12-13 17:37:19 -05:00
tali fab3b76d9c add slightly buggy closures; methods can access self fields 2023-12-13 17:33:32 -05:00
tali 6837ee414f restore support for stdlib functions 2023-12-13 17:27:06 -05:00
tali 884570598c Bop codegen "optimization" (?) 2023-12-13 17:24:20 -05:00
tali be83ca2177 codegen method arguments 2023-12-13 17:16:57 -05:00
tali d7bb317e2b fix Ir.Bop codegen bugs 2023-12-13 17:13:30 -05:00
tali dd27dc04d2 reimplement bc compiler to utilize a simpler intermediate repr 2023-12-13 16:40:44 -05:00
tali 10f5a5a6e2 fix binop codegen 2023-12-07 12:34:50 -05:00
tali 1aa704fa49 add back bcc with support for simple functions 2023-12-06 22:25:35 -05:00
tali c51b482607 big clean up of Code, Interp, removed all of Bcc 2023-12-06 21:49:54 -05:00
tali 333b8e7450 switch formatter to ocp-indent 2023-12-02 17:02:40 -05:00
tali 88fff1c119 add standard library / initial environment 2023-12-02 16:08:29 -05:00
tali ffbe99061f compile basic function calls 2023-12-02 16:06:36 -05:00
tali 62cf27b0c7 refactor codegen emitting slot indices 2023-12-02 15:36:53 -05:00
tali 24409f7902 add named fields and preliminary method support 2023-12-02 13:51:15 -05:00
tali 32b3eda926 refactor 'stack pointer' manip to be a parameter instead of a ref 2023-11-30 17:27:47 -05:00
tali fd3b356699 compile scope expressions 2023-11-30 14:01:40 -05:00
tali 2bdb1511ab add GRT instruction and implement missing comparators 2023-11-30 13:57:18 -05:00
tali 22b0ce775d compile if expressions into conditional branches 2023-11-29 23:06:12 -05:00
tali fca1c8f557 fix bug in binop code gen 2023-11-29 23:04:45 -05:00
tali 3d88cbe319 add comparison instructions and compile some more operators 2023-11-29 22:48:58 -05:00
tali c1eaa5baef remove lir, add basic single pass compiler 2023-11-29 22:27:05 -05:00