Emin Arslan haxala1r
haxala1r pushed to main at haxala1r/olisp 2026-04-25 19:48:12 +00:00
0925b44ef7 vm: got the VM to finally actually work
5edcc974b6 binary: modify binary to make use of the new compilation pipeline
Compare 2 commits »
haxala1r pushed to main at haxala1r/olisp 2026-04-25 18:04:54 +00:00
4716c71b15 compiler: modify the Emit module to actually produce a vm_state object directly executable by the VM
haxala1r deleted branch compiler from haxala1r/olisp 2026-04-25 17:52:39 +00:00
haxala1r pushed to main at haxala1r/olisp 2026-04-25 17:48:03 +00:00
2b02740e68 compiler: add the initial draft for compiling into byte code with backpatching
190ec94e14 compiler: make space for compiling into the VM bytecode
fe3ad80826 vm: added noop instruction, various other improvements
2822774931 vm: modified the vm to include native procedures, and changed the order of some parameters
06d0b4d2bf vm: wrote an initial sketch of a rough bytecode VM
Compare 97 commits »
haxala1r pushed to compiler at haxala1r/olisp 2026-04-25 17:46:34 +00:00
2b02740e68 compiler: add the initial draft for compiling into byte code with backpatching
190ec94e14 compiler: make space for compiling into the VM bytecode
fe3ad80826 vm: added noop instruction, various other improvements
2822774931 vm: modified the vm to include native procedures, and changed the order of some parameters
Compare 4 commits »
haxala1r pushed to compiler at haxala1r/olisp 2026-04-24 16:10:32 +00:00
06d0b4d2bf vm: wrote an initial sketch of a rough bytecode VM
haxala1r closed issue haxala1r/olisp#2 2026-04-07 15:20:36 +00:00
Make a new interpreter
haxala1r commented on issue haxala1r/olisp#2 2026-04-07 15:20:36 +00:00
Make a new interpreter

I have decided that this approach generates more maintenance burden than it helps. See #5.

haxala1r closed issue haxala1r/olisp#1 2026-04-07 15:19:25 +00:00
Add Scope Analysis
haxala1r commented on issue haxala1r/olisp#1 2026-04-07 15:19:25 +00:00
Add Scope Analysis

The current implementation of scope analysis is sufficient for my purposes. The next step would be to lower the AST produced by this analysis step further into byte code, and then execute it. See…

haxala1r opened issue haxala1r/olisp#5 2026-04-07 14:47:51 +00:00
Implement bytecode backend
haxala1r pushed to compiler at haxala1r/olisp 2026-04-05 20:14:38 +00:00
757df161d1 scope analysis: created another type to statically eliminate one (im)possible error case
haxala1r pushed to compiler at haxala1r/olisp 2026-04-05 20:04:21 +00:00
39ed14b33d nix: change pkgs.mkShellNoCC -> pkgs.mkShell because a standard environment is required in a development shell as well
haxala1r pushed to compiler at haxala1r/olisp 2026-04-05 19:58:52 +00:00
3ae6a7491d nix: add a separate shell.nix so I can specify merlin there without adding it as a build requirement
haxala1r pushed to compiler at haxala1r/olisp 2026-04-03 17:33:31 +00:00
4c573289b5 build: separated the nix flake and derivation, to allow for simpler builds and more flexibility
haxala1r pushed to compiler at haxala1r/olisp 2026-04-03 17:06:38 +00:00
24213597f1 flake: update
haxala1r pushed to compiler at haxala1r/olisp 2026-03-22 14:25:08 +00:00
4792a296d3 interpreter: minor fixes, changes to the main binary to actually interpret some source code
haxala1r pushed to compiler at haxala1r/olisp 2026-03-01 13:26:37 +00:00
040353683f interpreter: added a new implementation for an interpreter. typechecks, but it needs testing
cb7e3f8622 scope_analysis: changed convert to return the global symbol table as well as the program
Compare 2 commits »
haxala1r pushed to compiler at haxala1r/olisp 2026-02-28 16:19:10 +00:00
fe26b6c2b3 scope_analysis & core_ast: added functions to convert directly from source for convenience
haxala1r pushed to compiler at haxala1r/olisp 2026-02-28 15:41:54 +00:00
a95a676cb2 scope_analysis: small logic fix