Skip to content

Releases: SharkBlocks00/Falx

Falx v0.3.0

Choose a tag to compare

@SharkBlocks00 SharkBlocks00 released this 25 Sep 18:44

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 --filter for targeted test execution.
  • Added falx test --update-snapshots for 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

Choose a tag to compare

@SharkBlocks00 SharkBlocks00 released this 18 Sep 19:10

What's Changed

Added

  • Module system - Added require for splitting Falx programs across multiple .flx files.
  • 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 assert statement 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

Full Changelog: v0.1.0...v0.2.0

v0.1.0 - Alpha Release

Choose a tag to compare

@SharkBlocks00 SharkBlocks00 released this 12 Sep 13:42
80d425d

What's Changed

New Contributors

Full Changelog: https://github.com/SharkBlocks00/Falx/commits/v0.1.0