Repository navigation
Releases: SharkBlocks00/Falx
Releases · SharkBlocks00/Falx
Release list
Falx v0.3.0
Falx v0.3.0
Falx v0.3.0 is a major step forward for the language, introducing a REPL, tuples and destructuring, a substantially improved test runner, and significant improvements to the module system, runtime semantics, diagnostics, and error handling.
Highlights
- Added an interactive REPL with
exit()support. - Added default function parameters.
- Added tuples and tuple destructuring.
- Added
falx test --filterfor targeted test execution. - Added
falx test --update-snapshotsfor updating output snapshots. - Added stdout/stderr snapshot testing.
- Added expected diagnostic-code testing.
- Added test timeouts and multiprocessing.
- Added recursive test discovery.
- Improved the module system with module caching and canonical path resolution.
- Added relative and nested module resolution.
- Improved lexical scoping and control-flow semantics.
- Added and improved runtime diagnostics.
- Fixed numerous parser, lexer, runtime, indexing, numeric, string, map, boolean, and error-handling issues.
- Expanded the test suite substantially.
Installation / Usage
This release can be installed or built from the v0.3.0 tag.
See the [README](https://github.com/SharkBlocks00/Falx/blob/master/README.md) for usage and language documentation.
Full Changelog
See the [CHANGELOG](https://github.com/SharkBlocks00/Falx/blob/master/CHANGELOG.md) for the complete list of changes since v0.2.0.
Full comparison: [v0.2.0...v0.3.0](v0.2.0...v0.3.0)
v0.2.0 - Alpha release
What's Changed
Added
- Module system - Added
requirefor splitting Falx programs across multiple.flxfiles. - Diagnostics system - Added structured, unique diagnostic codes and improved runtime error reporting.
- Source locations - Added missing line and column information to lexer and parser exceptions.
- Improved exceptions - Replaced generic Python runtime errors with dedicated Falx exceptions for many language errors.
- Assertions - Added the
assertstatement for validating conditions at runtime.
Fixed
- Fixed a bug where augmented assignment operators such as
+=and-=could evaluate their operands twice.
Other Changes
- Continued improvements to error messages and diagnostics throughout the interpreter.
- Added and expanded tests covering modules, exceptions, diagnostics, and related edge cases.
Pull Requests
- [Issue 7]
- [Fix augmented assignment double evaluation]
- [Modules]
- [Exceptions]
- [Add missing SourceLocations to Lexer & Parser exceptions]
- [Diagnostics]
Full Changelog: v0.1.0...v0.2.0
v0.1.0 - Alpha Release
What's Changed
- Port test passes by @SharkBlocks00 in #1
- Ci cd impl by @SharkBlocks00 in #2
- Markdown additions by @SharkBlocks00 in #3
- Added Code Of Conduct and fixed missing links in .md files by @SharkBlocks00 in #5
New Contributors
- @SharkBlocks00 made their first contribution in #1
Full Changelog: https://github.com/SharkBlocks00/Falx/commits/v0.1.0