V1.0#32
Merged
Merged
Conversation
Comprehensive review of current language capabilities, gap analysis, and recommendation for release versioning. Concludes that Astra has a strong foundation but needs package management, async finalization, REPL, and multi-error recovery before a v1.0 label is appropriate. Recommends releasing v0.5.0 now and targeting v1.0 after stabilization. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
Corrects initial assessment after discovering the CLI already includes REPL, LSP, package manager, doc generator, auto-fixer, and error explainer commands. Upgrades release recommendation from v0.5.0 to v0.9.0-beta, reflecting that remaining work is stabilization rather than greenfield development. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
The parser already recovered between top-level items. This adds recovery within blocks at the statement level, allowing multiple errors per file to be reported. When a statement fails to parse, the parser skips to the next statement boundary (let, return, fn, }) and continues parsing. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
Replace plain String call stack with CallFrame structs carrying optional Span information. Stack traces now show file:line:col for each frame, making runtime errors much easier to diagnose. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
Replace O(n) linear scans for Map get/set/remove/contains_key and Set contains/add/remove with binary search on sorted vectors. Add compare_values_total for total ordering across all value types. All Map/Set constructors now produce sorted vectors. Existing tests pass with no behavioral changes. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
std.datetime: date parsing (year/month/day extraction), format_date, is_leap_year, days_between, add_days. All pure Astra with tests. std.path: basename, dirname, extension, stem, join, normalize, is_absolute, is_relative. All pure Astra with tests. Both modules pass all 151 Astra test suite tests. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
- ADR-007: Explicitly defer async/await and pkg to v1.1 - docs/performance.md: Performance characteristics and complexity guarantees - docs/stability.md: v1.0 stability guarantee and versioning policy - docs/spec.md: Complete language specification updated for v1.0 - CHANGELOG.md: Comprehensive v1.0 changelog https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
Update Cargo.toml version from 0.1.1 to 1.0.0. Update README to accurately reflect v1.0 status: async/await and pkg are deferred to v1.1, add performance/stability/grammar doc links, update known limitations section. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
Examples: - calculator.astra: Expression AST with enum types, recursive evaluation, pattern matching, Result error handling - todo_app.astra: Todo list with records, list operations, enum priority/status, contracts, effect system - text_analyzer.astra: Text analysis with word frequency maps, sorting, pipe operator, higher-order functions docs/grammar.md: Complete EBNF grammar covering all language constructs based on the actual parser implementation. All 174 Astra tests and 389 Rust tests pass. https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
- GitHub Actions release workflow builds cross-platform binaries (Linux x86_64/aarch64, macOS x86_64/aarch64, Windows x86_64) on tag push, with SHA-256 checksums and GitHub Releases - install-binary.sh lets users install pre-built Astra binaries with a single curl command, with platform detection and checksum verification https://claude.ai/code/session_01CUtvgeMdJHF4sW8yGRWzd9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.