-
released this
2026-03-19 23:53:31 -03:00 | 78 commits to main since this releaseSelf-Hosted Compiler Modularization
- Compiler backend extracted: Separated bytecode + NASM codegen into
lib/compiler_backend.kd - Frontend shared:
lib/bootstrap_frontend.kdrefactored
Self-Hosted CLI Promotion (#058)
KODER_PREFER_SELFHOSTED: Opt-in env var to prefer self-hosted implementations- Promoted routes:
fmt,pkg,js,wasm,repl,lsp,debug - Authority matrix:
docs/selfhosted-transition.mddefines parity gates
Standard Library
File.append: New method for appending content to filesNetmodule: Cookies, multipart,follow_redirects,max_redirects- YAML: Tagged value support (
!!str,!!int,!!float,!!bool, custom!tag) - Archive: RAR list/extract, 7-Zip list/extract/create
CI/CD
- GitHub mirror: Auto-mirror to GitHub on push (secret-gated)
- CI hardening: Self-hosted driver toolchain checks
Backlog Completed
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Compiler backend extracted: Separated bytecode + NASM codegen into
-
released this
2026-03-16 22:45:43 -03:00 | 107 commits to main since this releaserefactor: simplificar bootstrap_frontend e atualizar compiler/native_test
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v5.5.0 — OOP in Native Codegen: Classes, Methods, Ivars
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 19:20:06 -03:00 | 114 commits to main since this releaseWhat's New
Native OOP Support
Koder can now compile classes with instance variables and methods to standalone x86_64 ELF binaries:
class Counter def initialize(n) @n = n end def value return @n end end c = Counter.new(99) puts c.value # => 99→ 1173-byte standalone ELF binary
Implementation Details
- CLASS_DEF assigns sequential class IDs
- Objects: 80-byte heap blocks with class_id + 8 ivar slots
- STORE_IVAR/LOAD_IVAR: ivar access at
[self + 16 + idx*8] - Method dispatch: class_id comparison chain
- Self passed implicitly at
[rbp+16]
Native Codegen Summary
Feature Status Integers + arithmetic ✅ Strings (alloc, concat, to_s) ✅ Variables ✅ If/else, while ✅ Functions (def/call/return) ✅ Arrays (literal, index, push) ✅ Hashes (alloc, set, get) ✅ Classes (new, ivars, methods) ✅ NEW Comparisons, logical ops ✅ Backlog
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v5.4.0 — Arrays, String Concat, Native Runtime v4
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 17:51:39 -03:00 | 118 commits to main since this releaseWhat's New in v5.4.0
Native Runtime v4 (491 bytes)
- Array operations: arr_alloc, arr_push (auto-grow), arr_get, arr_length
- String concat: heap-allocated string concatenation via tagged values
- Int-to-string:
x.to_sconverts integer to heap string - NOT opcode: logical negation
Native Codegen Features
Feature Status Integers + arithmetic ✅ String literals ✅ String concatenation ✅ Int-to-string (to_s) ✅ Variables ✅ If/else ✅ While loops ✅ Functions (def/call/return) ✅ Arrays (literal, index, push) ✅ NEW Comparisons (all 6) ✅ Logical (&&, ||, !) ✅ Booleans, nil ✅ Tests
- 14 native ELF tests passing (675-981 byte binaries)
- 11 VM bootstrap tests passing
- 20 Rust integration tests passing
Self-Hosting Progress
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v5.3.0 — Native Runtime: Heap, Strings, int-to-string
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 14:41:48 -03:00 | 120 commits to main since this releaseWhat's New in v5.3.0
Native Runtime (364 bytes)
Embedded x86_64 runtime with 7 routines:
heap_init— brk-based heap allocator (r14/r15 registers)heap_alloc— bump allocator with 8-byte alignmentstr_alloc— allocate [length][data] strings on heapstr_concat— concatenate two heap stringsstr_print— write string + newline to stdoutstr_from_int— convert integer to heap stringprint_int— direct integer output
Tagged Values
- Negative values = string pointers (negated)
- Non-negative values = integers
- ADD checks tag: string concat or integer add
- PRINT checks tag: str_print or print_int
New Features
- String concatenation:
"Hello" + " World"→ 688-byte binary - Int-to-string:
x.to_svia METHOD_CALL → str_from_int "Answer: " + x.to_s→Answer: 42in 668-byte binary- String length via METHOD_CALL length 0
Self-Hosting Roadmap
8 backlog tickets (#036-#043) for complete bootstrap self-compilation:
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v5.2.0 — Native Codegen: Variables, Control Flow & Logical Ops
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 12:39:45 -03:00 | 127 commits to main since this releaseWhat's New in v5.2.0
Self-Hosted Native Code Generator
Koder can now compile programs to standalone x86_64 ELF binaries (238-439 bytes) via its self-hosted pipeline:
source → tokenize → parse → compile → native x86_64 ELF → executeSupported in native codegen:
- Integer constants and arithmetic (+, -, *, /, %)
- String output (inline sys_write)
- Variables (STORE/LOAD with rbp-relative addressing)
- All comparisons (<, >, ==, !=, <=, >=)
- Logical operators (&&, || with short-circuit)
- If/else with label patching
- While loops with backward branching
- Function definitions and calls (FUNC/CALL/RETURN with stack frames)
- Multiple functions in same binary
- Booleans, nil, POP, DUP
15 Native ELF Tests Passing
Test Program Result Size NT1 puts 4242 238B NT2 1+2*37 260B NT7 fib(10)iterative55 410B NT11 puts "Hello, Koder!"Hello, Koder! 264B NT13 add(3,4)7 346B NT14 square(9)81 325B NT15 double(7) + triple(5)14, 15 439B Bootstrap Self-Hosted Pipeline
- 3800+ lines of Koder processing Koder
- 11 VM bytecode tests + 15 native codegen tests
- Full tokenizer, parser, compiler, VM, and native codegen
Parser Fixes
- Added % (modulo), !=, <=, >= operators
- Added string literal tokenization (double/single quotes)
- Fixed JUMP dispatch operator bug
Infrastructure
- Version 5.2.0
- 20 Rust integration tests passing
- Backlog #035: Native HTTP protocol & server (pending)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v5.0.0 — SELF-HOSTING: Koder compiles to native ELF!
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 11:15:17 -03:00 | 131 commits to main since this releaseKoder v5.0.0 — Self-hosting Achieved!
Koder can now compile its own source code to native x86_64 ELF binaries.
Full pipeline running entirely in Koder:
source → tokenize → parse → compile → native x86_64 ELF binarykoder_compile_native("puts 42", "/tmp/output")generates a 180-byte standalone executable.Self-hosted bootstrap: 3392 lines
- 100+ language features
- 100+ built-in methods
- 50+ stdlib modules (all implemented)
- Native x86_64 ELF code generation
- 11/11 bootstrap tests
Rust workspace
- 21 crates, ~95K+ lines, 3124 tests
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v4.5.0 — ALL 50+ stdlib modules self-hosted, 3285 lines
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 11:00:12 -03:00 | 132 commits to main since this releaseSelf-hosting: 3285 lines, ALL 50+ stdlib modules implemented (no stubs), 100+ features, 100+ built-in methods. Full pipeline: source → tokenize → parse → compile → VM.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v4.4.0 — Self-hosting: 2929 lines, 100+ features, 50+ stdlib modules
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 10:46:43 -03:00 | 135 commits to main since this releaseKoder v4.4.0 — Self-hosting Milestone
Full Koder-in-Koder pipeline: source → tokenize → parse → compile → bytecode VM → output
- 2929 lines of self-hosted Koder code
- 100+ language features, 100+ built-in methods
- 50+ stdlib modules registered (15 with real implementations)
- 11/11 bootstrap tests passing
- Classes, inheritance, blocks, each/map/select/reduce
- File I/O, Math, JSON, Crypto, Base64
Rust workspace: 21 crates, ~95K+ lines, 3124 tests
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v4.3.0 — 100+ features, File I/O, stdlib modules
StableSome checks are pendingCI / build-and-test (push) Waiting to runreleased this
2026-03-16 10:28:30 -03:00 | 138 commits to main since this releaseSelf-hosting: 2789 lines, 100+ features, 100+ built-in methods, 8 stdlib modules (File, Math, JSON, Time, Process, ENV). Full pipeline: source → tokenize → parse → compile → VM.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)