Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.

2024-02-01: Fuzion February Update

Intensive work on all aspects of the Fuzion implementation is ongoing, a focus last month was improved documentation.

Here is what happened in detail:

  • General
  • fuzion-lang.dev
    • The Fuzion portal has moved to a new domain fuzion-lang.dev. The original flang.dev will nevertheless stay alive for now.

  • Documentation
  • Fuzion language
    • A function feature can no longer be declared using f rt is ... it must be f rt => ..., declarations using is are used only for constructors (#2401, #2443, #2444).

  • base library
    • Minor additions to composition.fz adding links and more birds, but still work in progress.

    • Removed as_stream as a step towards removing streams altogether (PR #2476).

    • Added Sequence.peek (PR #2475).

    • Features TRUE and FALSE are no longer public, but the corresponding types are (PR #2468).

    • Added pipe features <|, <||, etc. to establish symmetry with |>, ||>, etc. (PR #2462).

    • The unit.type.monoid is now public (PR #2418).

    • Removed say without arguments to print a new line to enable the use of say with one argument in partial applications like l.for_each say (PR #2406).

    • Replaced is by => in function features (PR #2401).

  • Front End
    • Added visibility checks for abstract features (PR #2453).

  • Middle End
    • Significant performance improvement and cleanup in the handling of run-time types (clazzes), (PR #2416, PR #2413).

  • Analyzers
    • fz -effects now uses the data-flow analysis (DFA) infrastructure instead of the less accurate control flow graph (CFG) (PR #2407).

  • JVM back end
    • Fixed VerifyError for features resulting in void (issue #2477, PR #2485).

    • Fixed race conditions between warnings printed by JVM back end and errors by running code that resulted in flaky test runs (PR #2426, PR #2469).

  • C back end
    • Fixed internal handling of void types (PR #2466).

    • The Boehm Garbage Collector is now enabled by default fixing a giant memory leak (PR #2428).

Cheers,

--The Fuzion Team.