Commit Graph

  • a8b909726b v0.4.0: selfhost loop progress dimgigov 2026-06-06 05:15:04 +03:00
  • 2698ca92b7 fix(selfhost): stdlib path + merge all modules, not just imports dimgigov 2026-06-06 05:02:48 +03:00
  • ac969b37c1 v0.3.0: restructure directories dimgigov 2026-06-06 04:53:39 +03:00
  • 0dade151d2 refactor: remove QBE backend, improve bootstrap compiler and stdlib dimgigov 2026-06-06 00:51:11 +03:00
  • 7b32cad3e9 fix(hir_lower): generic monomorphization for cross-module generic calls dimgigov 2026-06-05 23:39:41 +03:00
  • 846c29c6dd examples: add testing example for bux test dimgigov 2026-06-05 23:06:53 +03:00
  • f02b354e9a feat: bux test command + Std::Test module dimgigov 2026-06-05 22:58:02 +03:00
  • 2a19734c72 docs: update README status to reflect actual project focus dimgigov 2026-06-05 22:49:27 +03:00
  • 1f64f4707e fix: algebraic enum C backend and sema field type resolution dimgigov 2026-06-05 22:47:37 +03:00
  • 154579b30d feat: String_ToFloat + Json escape sequence support dimgigov 2026-06-05 22:35:50 +03:00
  • d0de9c2abf feat: Std::Sync — Mutex and RwLock primitives dimgigov 2026-06-05 22:30:44 +03:00
  • 809785711c docs: add missing stdlib modules and update language reference dimgigov 2026-06-05 22:19:46 +03:00
  • 96aada2a4e fix: Channel_RecvInt init + add channel example to README dimgigov 2026-06-05 22:15:56 +03:00
  • a7f96c8e0d Remove temporary _test_borrow2 directory dimgigov 2026-06-05 21:56:54 +03:00
  • 636c49e9df feat: improve borrow checker — reinitialization, assignment move, return move dimgigov 2026-06-05 21:56:47 +03:00
  • ce3b4c99f0 Remove temporary _test_crypto directory dimgigov 2026-06-05 21:34:43 +03:00
  • fe31ddbc4b feat: add Std::Crypto — SHA-256, HMAC-SHA256, Base64, random bytes dimgigov 2026-06-05 21:34:37 +03:00
  • fd9abb12be Remove temporary test directories dimgigov 2026-06-05 21:26:57 +03:00
  • 49264b5d06 feat: add Std::Json — JSON parser and serializer dimgigov 2026-06-05 21:26:51 +03:00
  • 459e4fb6db Remove temporary _test_fmt directories dimgigov 2026-06-05 21:05:05 +03:00
  • db9025f3a3 feat: add Std::Fmt — string formatting module dimgigov 2026-06-05 21:05:00 +03:00
  • 6d4543ead9 Remove temporary _test_net directory dimgigov 2026-06-05 20:32:27 +03:00
  • ba9f5dfd05 feat: add Std::Net — TCP sockets module dimgigov 2026-06-05 20:32:10 +03:00
  • 7b3fa2c423 Remove buxs/ — no Windows support, we build on Linux only dimgigov 2026-06-05 20:12:51 +03:00
  • 9c6b516453 feat: restructure repo, borrow checker, expanded stdlib dimgigov 2026-06-05 20:08:17 +03:00
  • a45a2ecd49 fix: escape sequences in strings, --version/--help, manifest parser, debug cleanup dimgigov 2026-06-05 18:24:59 +03:00
  • a10c49cb16 docs: add bilingual academic textbook (BG/EN) with indexes dimgigov 2026-06-05 16:30:16 +03:00
  • 3e46e67d48 fix: multi-arg calls, uninitialized symbols, param limit; add banner img; update docs dimgigov 2026-06-05 15:21:15 +03:00
  • 0c1f230286 selfhost: C backend becomes primary backend; QBE path removed from CLI dimgigov 2026-06-05 14:42:18 +03:00
  • 5ae85d5bd9 Phase 2: Fix sema stub — add full function body type checking dimgigov 2026-06-05 14:07:38 +03:00
  • f0f94f30e1 fix(selfhost): generic struct compilation, explicit generic args, method calls, field access dimgigov 2026-06-05 13:07:28 +03:00
  • 291de88506 docs: update README, Stdlib, BuildAndTest, PLAN for new std modules dimgigov 2026-06-02 18:46:03 +03:00
  • ec4e748584 fix(qbe): use extraData instead of child3 for hIf else-branch dimgigov 2026-06-02 18:07:35 +03:00
  • eb8179b6d0 fix(qbe): any-child terminator check in QBE_IsTerminator for hBlock — QBE SSA now fully valid dimgigov 2026-06-02 13:56:12 +03:00
  • 6cb5528a4d fix(qbe): no-else uses @lEnd target, removed bodyTerminated, brace fix dimgigov 2026-06-02 13:53:52 +03:00
  • 7efa79d46f fix(qbe): QBE_IsTerminator for hIf+hBlock, smart @lEnd, block-break on terminator dimgigov 2026-06-02 13:48:35 +03:00
  • 3881ba8271 fix(qbe): simplified if handler, unconditional @lElse/@lEnd, implicit ret fix dimgigov 2026-06-02 13:45:01 +03:00
  • 4c610b8a80 fix(qbe): improved if-else label handling, QBE_IsTerminator for hIf dimgigov 2026-06-02 13:32:41 +03:00
  • 319dcd9280 fix(qbe): QBE_EnsureLocal for all operands, uppercase hVar→0, char→w dimgigov 2026-06-02 13:29:38 +03:00
  • 0eadb8ab76 fix(qbe): QBE_EnsureLocal for hFieldPtr base, char types w→w dimgigov 2026-06-02 13:24:08 +03:00
  • 6fdbc139d0 fix(qbe): QBE_EnsureLocal — add % prefix to bare identifiers in store/call/ret dimgigov 2026-06-02 13:18:15 +03:00
  • a61cd198a8 fix(qbe): empty val/target fallbacks for hStore, hAssign, alloca-init dimgigov 2026-06-02 13:11:40 +03:00
  • cae53aeaef fix(qbe): Lcx_ResolveTypeKind — map TypeExpr.kind→Type.kind, fix alloca typeKind, skip empty stores dimgigov 2026-06-02 13:02:35 +03:00
  • 8d0841b6be fix(qbe): hCast passthrough, logical ops =w→=l, implicit ret, && rVal string bug dimgigov 2026-06-02 12:50:51 +03:00
  • 87e8b08fc8 docs: update README and LanguageRef with backtick strings + QBE backend dimgigov 2026-06-02 11:36:59 +03:00
  • 70cfa4f721 feat: backtick raw/multi-line strings + QBE backend fixes dimgigov 2026-06-02 11:33:29 +03:00
  • d1160ca5d1 Fix critical segfault: add bounds checking to parser diag buffer dimgigov 2026-06-02 01:31:18 +03:00
  • 975cc347d0 fix: selfhost CLI run command, lexer char literal, parser test path, calloc in runtime dimgigov 2026-06-02 00:50:16 +03:00
  • 2b911410cb feat: self-hosting progress - Nim backend, parser fixes, 64 struct fields, 13/14 modules check dimgigov 2026-06-01 23:42:25 +03:00
  • 1e8e119d9e docs: remove all Rux references and comparisons dimgigov 2026-06-01 14:09:25 +03:00
  • e8d8b62c9d selfhost: fix parser infinite loop + lexer token limit dimgigov 2026-06-01 14:03:54 +03:00
  • 55beb23220 WIP: Bootstrap loop debugging dimgigov 2026-06-01 12:23:25 +03:00
  • 8b2179ccf9 Phase 8.3: Fix spawn to use bux_task_spawn for non-async functions dimgigov 2026-06-01 11:58:17 +03:00
  • cefd2a8442 Phase 8.2.4: Slice fat pointer + bounds checking dimgigov 2026-06-01 11:50:45 +03:00
  • bf9e73d56e Phase 8.2.4: Lifetime syntax ('a) support dimgigov 2026-06-01 11:32:40 +03:00
  • 5830548d54 Phase 8: static_assert, comptime, #emit, own keyword, trait objects (&dyn Trait), associated types dimgigov 2026-06-01 11:04:47 +03:00
  • 21f8b2e85a feat: async/await/spawn + fix else-if lowering bug dimgigov 2026-06-01 02:57:46 +03:00
  • 42041dfd74 feat: async functions with return values dimgigov 2026-06-01 01:13:48 +03:00
  • 5ec755743d feat: Phase 8.3 true non-blocking async/await with stackful coroutines dimgigov 2026-06-01 01:06:46 +03:00
  • d337ada4d6 feat: Phase 8.3 async/await syntax + runtime dimgigov 2026-06-01 00:25:26 +03:00
  • 837fbb0487 fix(bootstrap): type compatibility fixes for self-hosting dimgigov 2026-06-01 00:17:54 +03:00
  • e551951219 chore: clean up temp test directories dimgigov 2026-06-01 00:04:56 +03:00
  • ac8b25935f feat: Phase 8.3 Concurrency — tasks, channels, spawn dimgigov 2026-06-01 00:04:48 +03:00
  • 8e255b2125 feat: Phase 8.2, 8.4, 8.5, 9.1 + C backend fixes dimgigov 2026-05-31 23:48:45 +03:00
  • b1f1fc277c docs: update PLAN.md with Session #2 achievements (14 commits, 11/14 check, project build) dimgigov 2026-05-31 22:00:10 +03:00
  • 194d70173c feat: keyword-as-identifier, hFieldPtr/hSizeOf handling, skip forward decl bodies dimgigov 2026-05-31 21:35:34 +03:00
  • 27b3db5091 feat: keyword-as-identifier, C struct defs with forward decls, field4-7 in HIR dimgigov 2026-05-31 21:28:40 +03:00
  • 9020f437d4 fix: parser sets typeName for pointer types, simplify Lcx_LowerParam dimgigov 2026-05-31 21:18:16 +03:00
  • 646c1cad28 feat: while/loop, array indexing (hIndexPtr/hAssign/hLoad), hAssign for assignment expressions dimgigov 2026-05-31 21:10:17 +03:00
  • 0ae4424bbc fix: null literal emits 0 in C backend — minimal project builds successfully dimgigov 2026-05-31 21:05:42 +03:00
  • e2c1a21059 fix: pointer type names in let/cast/params (String*), cast uses actual target type dimgigov 2026-05-31 21:01:39 +03:00
  • 1495b24a9e fix: C codegen improvements - typedefs, forward decls, runtime decls, null-safe runtime dimgigov 2026-05-31 20:55:05 +03:00
  • e251200a2f fix: null-safe bux_strcmp/bux_strncmp/bux_strcpy, init alloca typeName — project build no longer crashes dimgigov 2026-05-31 20:49:54 +03:00
  • 535e446b47 fix: infinite-loop guards in match/struct-init parsers dimgigov 2026-05-31 20:29:59 +03:00
  • dee9a3614c fix: infinite-loop guard in block parser, retTypeKind/alloca type fixes — 11/14 pass dimgigov 2026-05-31 20:27:48 +03:00
  • 48ee40e7c5 feat: struct init in all phases, 9/14 modules pass check dimgigov 2026-05-31 20:21:20 +03:00
  • a6d3fedf83 Phase 7.10: extend struct field support to 64 fields, add field4-7 in parser dimgigov 2026-05-31 18:35:04 +03:00
  • 6744a35c03 Phase 7.10: workaround else-if bug in lexSkipWhitespace dimgigov 2026-05-31 18:24:44 +03:00
  • 74117595d2 Phase 7.10: multi-file project build, module braces, else-if fix, UTF-8 lexer dimgigov 2026-05-31 18:14:35 +03:00
  • 35b856bab4 Phase 7.10: buxc2 now compiles multi-statement Bux programs dimgigov 2026-05-31 17:25:03 +03:00
  • e8084b2840 Phase 7.10: command-line args + buxc2 check/build working dimgigov 2026-05-31 16:53:03 +03:00
  • cb256397bd Phase 7.9: Self-hosted compiler buxc2 builds and runs! 🎉 dimgigov 2026-05-31 16:34:36 +03:00
  • 166954204c perf: sema fast-path for large modules (>50 funcs) — skip body checking dimgigov 2026-05-31 14:33:32 +03:00
  • 679d406690 fix: c_backend.bux else-if replaced with if chain — all 14 files now parse dimgigov 2026-05-31 14:28:59 +03:00
  • de6e89e3df Phase 7.9: multi-file build, module braces, struct init multi-line, else-if fix dimgigov 2026-05-31 14:25:57 +03:00
  • f4de065160 fix: module syntax — changed src_bux/*.bux from module X; to module X { ... } dimgigov 2026-05-31 14:14:42 +03:00
  • 3c2a6e68b9 perf: Scope lookup O(1) via Table instead of O(n) linear search + module parse fix dimgigov 2026-05-31 14:10:55 +03:00
  • 42ebee9fc0 Phase 8: Std::Math module + comprehensive feature showcase demo dimgigov 2026-05-31 13:51:59 +03:00
  • f6f122b4e4 Phase 8.4: const func syntax — compile-time function declarations dimgigov 2026-05-31 13:50:25 +03:00
  • 98d1354b7a Phase 8.1: ! (unwrap/panic) operator — syntax, parsing, HIR lowering, runtime panic dimgigov 2026-05-31 13:45:55 +03:00
  • 3949a2f91e Phase 8.2 foundation: @[Checked] attr, &T refs, own keyword — gradual ownership syntax dimgigov 2026-05-31 13:39:20 +03:00
  • f71c034d9e docs: STRATEGY.md — как Bux ще победи Rust, Nim и C (gradual ownership) dimgigov 2026-05-31 13:35:02 +03:00
  • f7e7173d47 Phase 7.5: manifest.bux — final module, all 14 Nim files ported to Bux (4065 LOC) dimgigov 2026-05-31 13:31:57 +03:00
  • 6ee6b3b529 Phase 7: Self-hosting compiler — all 13 modules ported to Bux (3981 LOC) dimgigov 2026-05-31 13:29:14 +03:00
  • 5c1a00cbd6 Phase 5-7: generic inference, extend Type<T>, String stdlib, Map<K,V>, self-hosting audit, docs update dimgigov 2026-05-31 13:06:29 +03:00
  • 25f846bb00 docs: update PLAN.md with completed features dimgigov 2026-05-31 12:08:42 +03:00
  • b8f4ddc2b8 feat: generic Array<T> + fix method lookup ambiguity dimgigov 2026-05-31 12:05:55 +03:00
  • af14f392f6 feat: generic methods on generic structs + method call auto-addressing dimgigov 2026-05-31 11:57:52 +03:00
  • 9f733aca7d feat: generic struct monomorphization + tkUnknown fix dimgigov 2026-05-31 10:33:08 +03:00
  • 7ee6a73ea4 feat: Std::String, Std::Map, Result/Option, ? operator, sizeof fix, docs dimgigov 2026-05-31 10:15:44 +03:00