Releases: takoeight0821/malgo
Releases · takoeight0821/malgo
Release list
Release v4.0.0
What's Changed
- ci(release): match the actual release commit in the skip guard by @takoeight0821 in #381
- fix(zig): trampoline the calling convention so deep recursion stops crashing by @takoeight0821 in #382
- ci(lean): rebuild the embedded Zig runtime before the Lean sweep by @takoeight0821 in #389
- feat(zig): implement readFile/writeFile and self-host through the Zig backend by @takoeight0821 in #384
- refactor: delete the Scheme backend by @takoeight0821 in #386
- refactor: delete cocase/destructor from the Core IR by @takoeight0821 in #387
- ci(lean): bust the embedded runtime in lean-selfhost too by @takoeight0821 in #394
- ci: disable the Level 2 metacircular sweep until #385 by @takoeight0821 in #395
- test(lean): register the missing Parser goldens and add a CLI gate by @takoeight0821 in #391
- test(lean): port the Zig backend unit specs by @takoeight0821 in #392
- test(lean): port the remaining Haskell-only specs by @takoeight0821 in #393
- test(lean): parser/rename の error golden 11件を Lean 側でもゲートする by @takoeight0821 in #396
- chore!: Haskell 実装を撤去し、Lean + Zig を正式採用する by @takoeight0821 in #397
- feat(scheme): restore the Scheme backend as the Chez performance reference by @takoeight0821 in #401
- perf(bench): add a MALGO_RC_STATS baseline harness and gate the counters in CI by @takoeight0821 in #402
- perf(zig): intern small ints and compile RC tracing out of release-fast by @takoeight0821 in #403
- perf(zig): reuse across branches, and track #385 by the Zig/Chez ratio by @takoeight0821 in #405
- ci(lean): throttle Level 2, re-enable it off the PR path, and lower the budgets by @takoeight0821 in #406
- ci(lean): split Level 2 into a build job and one job per case by @takoeight0821 in #408
- chore!: delete the Scheme backend again once #385 closes by @takoeight0821 in #404
Full Changelog: v3.0.0...v4.0.0
Release v3.0.0
What's Changed
- perf(build): disable shared libs for 17% faster builds by @takoeight0821 in #289
- chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #281
- chore(deps): bump advanced-security/spdx-dependency-submission-action from 0.1.1 to 0.2.0 by @dependabot[bot] in #280
- chore(deps): bump actions/cache from 5.0.1 to 5.0.3 by @dependabot[bot] in #279
- perf(ci): cache GHCup to speed up GHC setup step by @takoeight0821 in #291
- chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #275
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #274
- fix(syntax): exclude copattern-bound variables from freevars by @takoeight0821 in #293
- docs: add GHC build speedup best practices research by @takoeight0821 in #295
- chore(deps): remove unused deps and upgrade GitHub Actions by @takoeight0821 in #296
- fix(ci): remove manual GHCup cache step causing utime errors by @takoeight0821 in #299
- feat: LSP server MVP and query-based compilation engine by @takoeight0821 in #298
- feat(tests): optimize test execution with parallel options by @takoeight0821 in #301
- fix(ci): close stale release PRs when version bumps by @takoeight0821 in #303
- refactor: split malgo-lsp package, reduce dependencies, optimize CI by @takoeight0821 in #302
- refactor: remove aeson dependency from malgo package by @takoeight0821 in #304
- chore(test): reduce golden file diff noise and fix Prelude flat bug by @takoeight0821 in #305
- feat(test): add IR validators and shape fingerprints for ToCore pipeline by @takoeight0821 in #308
- refactor(test): reduce ToCore golden files by removing core/flat variants by @takoeight0821 in #309
- feat(ci): cache GHC installation with custom setup action by @takoeight0821 in #310
- refactor(test): reduce Parser/Rename/Elaborate/ToFun golden to representatives by @takoeight0821 in #311
- feat(test): add elaborate-enabled eval tests and full-program inference tests by @takoeight0821 in #312
- chore(devcontainer): GHC 9.12.4 toolchain workarounds and GH_TOKEN passthrough by @takoeight0821 in #315
- feat(scripts): add cabal dependency graph tool by @takoeight0821 in #316
- docs(dep-upgrade): add user-approval gates to skill by @takoeight0821 in #318
- fix(infer): reduce InferSpec pending tests from 69 to 12 by @takoeight0821 in #319
- fix(module): replace pwdPath with parseArtifactPathFromPwd by @takoeight0821 in #325
- chore(deps): remove unused deps and bump dependencies by @takoeight0821 in #317
- conductor(setup): Add conductor setup files by @takoeight0821 in #326
- fix(infer): Relax occurs check for recursive/codata types (#320) by @takoeight0821 in #327
- fix(infer): propagate inferred types across modules via InferredModule query (#321) by @takoeight0821 in #332
- fix(infer): expand type synonyms eagerly and identify TVar by Id by @takoeight0821 in #334
- fix(infer): make constraint solving failure-atomic by @takoeight0821 in #335
- Add regression coverage for solvedSubst leakage across failed unification paths by @takoeight0821 with @Copilot in #336
- fix(devcontainer): force UTF-8 locale for postCreate setup by @takoeight0821 in #338
- fix(infer): make unifier cycle detection α-equivalence-aware for recursive types by @takoeight0821 with @Copilot in #337
- fix(infer): prevent infinite loop in composeSubst when TMu value gains free key by @takoeight0821 in #339
- fix(infer): resolve non-termination and RecordP unification regression by @takoeight0821 in #341
- feat(compiler): add self-hosted interpreter in Malgo by @takoeight0821 in #342
- fix(parser): tighten field access precedence in CStyle parser by @takoeight0821 in #345
- feat(examples): add Forth interpreter in Malgo by @takoeight0821 in #344
- feat(editors): add VS Code syntax highlighting extension by @takoeight0821 in #346
- test(forth): add test cases covering more words and behaviors by @takoeight0821 in #347
- feat(lint): add a Malgo style linter with
malgo lintby @takoeight0821 in #348 - refactor(runtime): make the self-hosted compiler lint-clean + gate runtime in CI by @takoeight0821 in #349
- feat(backend): add a Zig code-generation backend (malgo compile) by @takoeight0821 in #351
- feat(zig): Perceus reference counting + leak-check gate (M9) by @takoeight0821 in #352
- feat(zig): allocation-reduction passes + FBIP-style reuse tokens (M10) by @takoeight0821 in #353
- fix(zig): address deferred cleanup findings from #351/#352/#353 reviews by @takoeight0821 in #355
- docs: add Zig backend, Perceus GC, and MET tool documentation by @takoeight0821 in #356
- fix(zig): address max-effort architecture review follow-ups by @takoeight0821 in #357
- feat(lean): full Haskell-to-Lean 4 port (M0-M9) by @takoeight0821 in #358
- feat(lean): first real theorems in the Lean port (IntMap) by @takoeight0821 in #362
- feat(lean): prove insert_wf for IntMap by @takoeight0821 in #363
- refactor(lean): de-partialize SExpr.lean's toInter/pp by @takoeight0821 in #364
- refactor(lean): de-partialize Rename/Pass.lean's 5 pure helpers by @takoeight0821 in #365
- refactor(lean): de-partialize Debug/DiffView.lean's Tier 3 items by @takoeight0821 in #366
- refactor(lean): de-partialize Debug/PrettyIR.lean by @takoeight0821 in #367
- refactor(lean): de-partialize Sequent/Core/Full.lean's toSExpr family (#359, Tier 3) by @takoeight0821 in #368
- refactor(lean): de-partialize Flat.lean and Join.lean's toSExpr families (#359, Tier 3) by @takoeight0821 in #369
- perf(ci): run selfhost-level2's 5 test cases in parallel by @takoeight0821 in #370
- refactor(lean): de-partialize Syntax.lean's dump/boundVars/freevars family (#359, Tier 3) by @takoeight0821 in #371
- refactor(lean): de-partialize Sequent/Core/Json.lean's toJson direction (#359, Tier 3) by @takoeight0821 in #372
- refactor(lean): de-partialize SaturateCtor.lean's peel/goExpr/goBranch (#359, Tier 2 prerequisite) by @takoeight0821 in #373
- feat(lean): prove SaturateCtor's no-remaining-saturated-spine invariant (#359, Tier 2) by @takoeight0821 in #374
- ci(actions): add actions-timeline job to build and lean workflows by @takoeight0821 in #375
- refactor(lean): de-partialize Normalize.lean's substStatement family (#359) by @takoeight0821 in #376
- feat(lean): give ModuleName a Std.TransCmp instance (#359, Tier 2 foundational gap) by @takoeight0821 in #377
- feat(lean): prove reverseDepClosureGo termination (#359, Tier 2) by @takoeight0821 in #378
- docs: レポート追加 issue #359 の証明導入 / Lean 4 移植 (M0-M9) 総括 by @takoeight0821 in #380
New Contributors
- @takoeight0821 with @Copilot made their first contribution in #336
Full Changelog: v2.3.0...v3.0.0
Release v2.3.0
What's Changed
- feat: migrate from Renovate to Dependabot by @takoeight0821 in #264
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #268
- chore(deps): bump actions/cache from 4.3.0 to 5.0.1 by @dependabot[bot] in #265
- chore(ci): replace release-please with label-driven workflows by @takoeight0821 in #271
- chore(deps): bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #267
- feat: add ziku submodule and update .gitignore for local settings by @takoeight0821 in #282
- feat: Malgo 2025 migration (phase 4 + parser unification) by @takoeight0821 in #284
Full Changelog: v2.2.1...v2.3.0
v2.2.1
v2.2.0
2.2.0 (2025-10-01)
Dependencies
- update actions/cache action to v4.3.0 (#248) (e4687fd)
- update cachix/install-nix-action digest to 9280e7a (#246) (da1e8b1)
Documentation
- add new wiki page on empty arguments (bf1ad49)
- add new wiki page on empty arguments in Malgo (a5f6437)
- correct test command option in CLAUDE.md (2ccac37)
Features
Bug Fixes
- parser: update pattern parsing in C-style syntax (0fe33ec)
v2.1.0
v2.0.0
2.0.0 (2025-08-30)
⚠ BREAKING CHANGES
- changelog: remove CHANGELOG.md file
- add copatterns
- prompts: add auto-implementing small issues prompt
- build: remove unsupported GHC versions from matrix
- package: bump version to 2.0.0 and update copyright year
- changelog: restructure changelog for clarity and organization
- changelog: add changelog configuration and template files
- cabal: update dependency versions
- infer: update type synonym handling with kind checks
- infer: introduce Kind module and integrate into TypeRep
- errors: add error cases for parser
- Main: simplify EvalOpt and remove unused code
- Driver: implement generateSequent and linkSequent functions
- Program: add dependencies field to Program data structure
- Eval, Interface, Fun: remove unused GHC options
- test: remove .malgo-work directory if it exists
- add path-based import
- change workspace directory structure
- remove (old) LSP server and build system
- delete syntax for module with specified name
Features
- add copatterns (f484e0f)
- add path-based import (9f357c0)
- add pragma support and update related tests (8122ff3)
- add Project expression handling in refineExpr (36b17d6)
- delete syntax for module with specified name (723393e)
- Driver: implement generateSequent and linkSequent functions (2fc4f2e)
- infer: add error handling for invalid type applications (1a81eac)
- infer: introduce Kind module and integrate into TypeRep (5eb17b0)
- modularize parser architecture with consistent naming (1319c52)
- parser: add C-style data definitions and type synonyms (9cdabe5)
- parser: enhance handling of pragma (c330f2e)
- Program: add dependencies field to Program data structure (f295a8f)
- prompts: add auto-implementing small issues prompt (4a8f898)
- remove (old) LSP server and build system (db969c7)
Bug Fixes
- 214: Preserve Parens expressions through rename phase (2faf6d6)
- correct comment formatting in Wrapper.hs (abc08a6)
- escape quotes in mise.toml format task (229e0b0)
- handle MainNotFound error in evalProgram and improve error reporting (d8ac92a)
- handle Record capture correctly (974997d)
- Main: simplify EvalOpt and remove unused code (41afce9)
- Parser correctly uses Parens expression for single-expression parentheses (4bc77c5)
- Parser now correctly uses Parens expression for single-expression parentheses (fe6a803), closes #212
- parser: add '.' to reserved operators list (efda8a3)
- parser: fix unary operator parsing and type variable handling (0f14ccb)
- parser: update parsing output format in NewParserSpec (fe3026a)
- pass: correct CompileError handling in tests (3f07d59)
- prelude: improve pretty printing of Range instances (80f06d4)
- prompts: update base branch from main to master (1d8ac08)
- remove absolute path from Show instance of ArtifactPath (785df32)
- rename: fix constructor pattern handling in rnClause (a606937)
- update imports for Prettyprinter in multiple files (a984084)
- use Map and Set instead of HashMap and HashSet (4d009b5)
Styles
- Eval, Interface, Fun: remove unused GHC options (eeca0b0)
Miscellaneous Chores
- cabal: update dependency versions (96ed655)
- changelog: add changelog configuration and template files (4987760)
- changelog: remove CHANGELOG.md file (7717ec3)
- changelog: restructure changelog for clarity and organization (1989ae5)
- package: bump version to 2.0.0 and update copyright year (fefa0a1)
- test: remove .malgo-work directory if it exists (a256f73)
Code Refactoring
- change workspace directory structure (ebca7ec)
- infer: update type synonym handling with kind checks (713137d)
Tests
- errors: add error cases for parser (1bfb6fe)
Continuous Integration
- build: remove unsupported GHC versions from matrix (28a7348)
v0.3.0
What's Changed
Other Changes
- New unboxed checker by @takoeight0821 in #132
- Refactoring type check by @takoeight0821 in #133
- Remove
Annotatedby @takoeight0821 in #134 - Use hash table as record representation by @takoeight0821 in #135
- Refactoring by @takoeight0821 in #136
- Enable NoFieldSelectors by @takoeight0821 in #137
defkeyword by @takoeight0821 in #138- [WIP] New code generation by @takoeight0821 in #139
- Refactoring language server by @takoeight0821 in #140
- [WIP] Scheme backend by @takoeight0821 in #141
- Core level linker by @takoeight0821 in #142
- Refactor CodeGen pass by @takoeight0821 in #143
- New compile command by @takoeight0821 in #144
- Rewrite test scripts in Haskell by @takoeight0821 in #145
- Update CI by @takoeight0821 in #146
- Serialise AST as JSON by @takoeight0821 in #147
- Refactoring module structures by @takoeight0821 in #148
Full Changelog: v0.2.0...v0.3.0
Version 0.2.0
What's Changed
- Make syntax more restrictive and understandable by @takoeight0821 in #25
- Change syntax: definitions must be separeted with semicolon by @takoeight0821 in #26
- Add documents by @takoeight0821 in #27
- Add new ir syntax by @takoeight0821 in #29
- Dump AST as JSON by @takoeight0821 in #31
- New build system by @takoeight0821 in #32
- Add new typechecker by @takoeight0821 in #34
- Griff to Malgo (close #22) by @takoeight0821 in #24
- Use unordered containers by @takoeight0821 in #35
- Fix type scheme equiv check by @takoeight0821 in #36
- Refactor new typechecker by @takoeight0821 in #37
- Better error message by @takoeight0821 in #38
- Refactoring by @takoeight0821 in #39
- Type synonym by @takoeight0821 in #40
- Replace type checker by @takoeight0821 in #41
- Rename NewTypeCheck to TypeCheck by @takoeight0821 in #42
- Better code generation by @takoeight0821 in #43
- Fix Kind check by @takoeight0821 in #45
- Better compile error messages by @takoeight0821 in #46
- Refactoring by @takoeight0821 in #47
- Add record by @takoeight0821 in #48
- Record patterns by @takoeight0821 in #49
- Remove --via-binding option by @takoeight0821 in #51
- Write a sketch of new record and
with modulesyntax by @takoeight0821 in #52 - Use rio by @takoeight0821 in #53
- Improve CI by @takoeight0821 in #54
- Add ARCHITECTURE.md by @takoeight0821 in #56
- New module syntax by @takoeight0821 in #55
- Rename Language.Malgo to Malgo by @takoeight0821 in #57
- Refactor unify by @takoeight0821 in #58
- Fix #59 by @takoeight0821 in #60
- Support parametrized type synonyms by @takoeight0821 in #62
- Refactor typechecker by @takoeight0821 in #63
- Change
importsyntax;module { .. } = import Moduleby @takoeight0821 in #64 - Split examples and test cases by @takoeight0821 in #65
- New runtime by @takoeight0821 in #67
- List syntax by @takoeight0821 in #68
- Improve error message by @takoeight0821 in #70
- Refactoring
Unreachableby @takoeight0821 in #71 - Checking exhaustivity of pattern matching by @takoeight0821 in #72
- Qualified type by @takoeight0821 in #73
- Infer record type from a field's prefix by @takoeight0821 in #74
- Refactor core by @takoeight0821 in #75
- Toplevel variable by @takoeight0821 in #77
- Allow
;to be used as a terminator in record literals by @takoeight0821 in #78 - Fix toplevel application by @takoeight0821 in #80
- Revert Improve error message #70 by @takoeight0821 in #81
- Add
implandclassby @takoeight0821 in #79 - fix: prettyprint
bug $ Unreachable reasonby @takoeight0821 in #82 - refactor: rename
TypeChecktoInferby @takoeight0821 in #83 - fix: generate initialization of toplevel variables correctly by @takoeight0821 in #84
- Refactoring type checker by @takoeight0821 in #85
- feat: type annotation for expressions by @takoeight0821 in #86
- feat: use
;outside{}by @takoeight0821 in #87 - fix
matchby @takoeight0821 in #91 - refactor: remove duplicate codes by @takoeight0821 in #92
- Refactor koriel by @takoeight0821 in #90
- Merge koriel and malgo by @takoeight0821 in #94
- Refactor TypeRep by @takoeight0821 in #88
- Use relude by @takoeight0821 in #95
- With statement by @takoeight0821 in #96
- Do not generalize
letbindings by @takoeight0821 in #97 - Add Malgo.Core by @takoeight0821 in #98
- Boxed literal pattern by @takoeight0821 in #99
- Fix some bugs on pattern match by @takoeight0821 in #100
- feat:
{ a }is the syntax sugar for() -> aby @takoeight0821 in #101 - Refactor desugar pass by @takoeight0821 in #102
- Add benchmark by @takoeight0821 in #104
- Improve zonk by @takoeight0821 in #103
- [WIP] Malgo.Core by @takoeight0821 in #105
- Simplify code by @takoeight0821 in #106
- Update prelude by @takoeight0821 in #107
- Test in haskell by @takoeight0821 in #108
- Add document comments by @takoeight0821 in #109
- Delete experimental code by @takoeight0821 in #113
- Change HasUniqSupply to makeFieldsNoPrefix version by @takoeight0821 in #114
- Refactor record field definitions by @takoeight0821 in #116
- Prepare for Language Server by @takoeight0821 in #117
- Update packages and ghc by @takoeight0821 in #118
- Support textDocument/hover by @takoeight0821 in #119
- Improve hover by @takoeight0821 in #120
- Implement textDocument/definitions by @takoeight0821 in #121
- Change
data Opttodata ToLLOptby @takoeight0821 in #122 - Add LspOpt by @takoeight0821 in #123
- Add Temporal Id by @takoeight0821 in #124
- Refactor Malgo.Parser by @takoeight0821 in #126
- Implement textDocument/documentSymbol by @takoeight0821 in #125
- Fix type checking of DataDef by @takoeight0821 in #129
- Refactor test code by @takoeight0821 in #130
Full Changelog: v0.1.0...v0.2.0