Nim Roadmap 2025 and beyond
> Life has a melody, Gaius. A rhythm of notes that become your existence once > they're played in harmony with God's plan. Come. See the face of the shape of things to come. > -- "6" from Battlestar Galactica **NOTE**: This plan covers 2025 and beyond as it is very ambitious. # Nil/not nil The plan for this feature changed again and it is now: - `ref/ptr T`: Remains to be unchecked so that it is backwards compatible with every Nim version ever released. But eventually this will be written as `unchecked ref/ptr T`. - `ref/ptr T not nil`: Checked at compile-time (we need to fix the bugs in the implementation). - `nil ref/ptr T`: Can be nil and it is checked at compile-time that every deref operation is within a guard like `if x != nil`. This feature is not scheduled for any particular release. # Version 2.4 <strike>- [ ] Enables strict "definite assignment" analysis which enforces at compile-time that variables have been initialized.</strike> - [ ] Offers an experimental "type-bound operations" mode. # Version 3 Version 3 will be achieved via a combination of compiler phase rewrites, code reuse, refactorings and porting of compiler code. The primary goal is to finally give us a Nim that offers: 1. Incremental recompilations. 2. No forward declarations for procs and types required. 3. Allow for explicit cyclic module dependencies. 4. Type-checked generics. 5. Avoid the phase ordering problems that plagued Nim for a long time: Destructors and other `
Posted by Araq on Dec 4, 2024, 9:33 AM
Tags
Related issues
- [Meta] Feedback on granular control over Copilot changes
- unexpected status 401 Unauthorized issue
- [MODEL] Measurable quality regression in Claude generation 5 (Fable 5 / Opus 5 / Sonnet 5): worse nonsense detection, ~2x verbosity, under-disclosed model fallb
- [CRITICAL] Subagent spawning and subagent pattern bugs trigger infinite recursion, infinite token usage, grossly inefficient token usage, and lost accumulated s
- Video stops playing after some minutes
- [MODEL] Claude verbose code comments by default — ignores instructions to stop.
Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments
github (Software)
[Meta] Feedback on granular control over Copilot changes
unexpected status 401 Unauthorized issue
[MODEL] Measurable quality regression in Claude generation 5 (Fable 5 / Opus 5 / Sonnet 5): worse nonsense detection, ~2x verbosity, under-disclosed model fallb
[CRITICAL] Subagent spawning and subagent pattern bugs trigger infinite recursion, infinite token usage, grossly inefficient token usage, and lost accumulated s
Video stops playing after some minutes
[MODEL] Claude verbose code comments by default — ignores instructions to stop.
Scope Codex VS Code chats to the current workspace/project
Update on "Co-authored-by: Copilot" in commit messages
Nim Roadmap 2025 and beyond
> Life has a melody, Gaius. A rhythm of notes that become your existence once > they're played in harmony with God's plan. Come. See the face of the shape of things to come. > -- "6" from Battlestar Galactica **NOTE**: This plan covers 2025 and beyond as it is very ambitious. # Nil/not nil The plan for this feature changed again and it is now: - `ref/ptr T`: Remains to be unchecked so that it is backwards compatible with every Nim version ever released. But eventually this will be written as `unchecked ref/ptr T`. - `ref/ptr T not nil`: Checked at compile-time (we need to fix the bugs in the implementation). - `nil ref/ptr T`: Can be nil and it is checked at compile-time that every deref operation is within a guard like `if x != nil`. This feature is not scheduled for any particular release. # Version 2.4 <strike>- [ ] Enables strict "definite assignment" analysis which enforces at compile-time that variables have been initialized.</strike> - [ ] Offers an experimental "type-bound operations" mode. # Version 3 Version 3 will be achieved via a combination of compiler phase rewrites, code reuse, refactorings and porting of compiler code. The primary goal is to finally give us a Nim that offers: 1. Incremental recompilations. 2. No forward declarations for procs and types required. 3. Allow for explicit cyclic module dependencies. 4. Type-checked generics. 5. Avoid the phase ordering problems that plagued Nim for a long time: Destructors and other `
Comments (0)
No comments yet. Start the discussion.