v1.0.0
Full changelog from GitHub
Written on the GitHub release page. It lists every change that went into v1.0.0.
What's Changed
- feat: list data type introduced, 2 new issues emitted (@a2ys) by @a2ys in #112
- feat: introduce abs and power math intrinsics with deterministic over… by @puang59 in #115
- fix: make isOriginalErrorResolved check for new errors on other lines (#105) by @puang59 in #114
- Fixed: Semantic Validation by @AaravTandon24 in #117
- Lc/monomorphization by @a2ys in #119
- Pratt Parser Introduction, Isolation of Compiler Phases, Pure LLVM Optimization, Array Types by @a2ys in #120
- Making Parser Dumber: Introduction of Structs, Generic Methods, Standard Library Introduction, Imports and Exceptions by @a2ys in #123
- Issue Add scope-aware trie-based suggestion index; runtime builtin registry… by @AaravTandon24 in #126
- Add call-graph collection during codegen; expose AddCallEdge/ClearCal… by @a2ys in #127
- CMAKE, Refactor, Strict Type Checking by @a2ys in #128
- here before everything by @a2ys in #140
- chore: extracted Type from LLVM Types (@puang59) (#131) by @puang59 in #141
- fix: remove the limelight to List by @a2ys in #142
- merge dev into main by @a2ys in #159
- Roadmap/150 by @a2ys in #164
- feat: function signature syntax overhaul (@puang59) (#151) by @puang59 in #165
- Roadmap/issue157 by @AaravTandon24 in #166
- feat: implement named fields for struct declaration and initializatio… by @a2ys in #167
- Unify if syntax, add ternary operator, and fix macOS stream / linking issues by @puang59 in #169
- Strict Semicolon Rule: Delete RequiresSemicolon() #155 by @puang59 in #170
- Roadmap/issue156 by @a2ys in #171
- Roadmap/issue156 by @a2ys in #172
- feat: add TurfWarning class for non-interrupting diagnostics (#173) by @AaravTandon24 in #189
- feat(errors): decouple hints from TurfError and warning classes (#174) by @puang59 in #190
- Rewrite tests by @a2ys in #193
- Bugs by @a2ys in #198
- Claude review by @a2ys in #199
- fix(codegen): implement two-step struct creation for self-referential structs by @puang59 in #201
- feat: (issue 177) Implemented null type enforcement by @AaravTandon24 in #202
- feat: (issue 178) Default Variable Initialization by @AaravTandon24 in #203
- feat: implement Logical NOT ! Operator (#179) by @puang59 in #204
- Roadmap/181 by @a2ys in #205
- feat: (issue 182) Bitwise operators added by @AaravTandon24 in #206
- feat: (issue 183) String operations (+, ==, s[i]) by @puang59 in #207
- feat(cfg): implement cyclomatic complexity & infinite loop warnings (… by @AaravTandon24 in #224
- feat: (issue #180) do while statement implementation by @AaravTandon24 in #236
- Turf lsp by @a2ys in #247
- Issue/track a by @a2ys in #248
- Track B + Track C: stdlib remainder (os.tr, math constants) and SLM retry loop by @puang59 in #249
- Pr 250 by @a2ys in #251
- Release/v1.0.0 by @a2ys in #252
- Version 1.0.0 by @puang59 in #227
Full Changelog: v0.8.0...v1.0.0
For reviewers: please read this
To reproduce the --smart benchmark results (Part A of the benchmark report: 45 of 99 cases, 0 crashes), download two files from this release:
- Source code (zip): the Turf 1.0.0 source.
- turf-1.0.0-smart-benchmark-repro.zip: the exact corpus files, the run scripts, and our reference results.
Unpack both into the same folder, then follow REPRODUCE.md from the top. It is inside the second zip and is also attached to this release on its own, so you can read it before downloading anything. It covers setup, running a single file, running the full corpus, and comparing your results with ours case by case.
- Platform: Apple Silicon Mac (the only platform these figures were measured on).
- Time: about 5 minutes to set up, 1 minute for a single file, 75 minutes for the full run.
- Needs: LLVM 22, CMake, git, Python 3.9+, and about 1.5 GB of disk. The setup script downloads the model and llama.cpp for you.
Checksum of the reproduction zip (SHA-256):
b33d7f43811a97524463fe88cb4f73790f14e74bcbad1ac9d606fc3de50506f2