2025-03-14: Fuzion March Update
Significant work went into code cleanup patches. Also, several improvements to enhance the performance of the data flow analysis (DFA) are on the way, but not published yet.
- General
Lots of cleanup in 48 pull requests
- Base library
-
New base library features
base: add a
property.countable
feature and use it inSequence
(#4721)add
array.type.empty
(#4841)add
linear_effect
(#4672)A linear effect checks at runtime if it has already been instated and panics if this is the case.
Add
Sequence.orderable
(#4733)With
.as_orderable
a sequence can be wrapped into an orderable type, requires the type of the elements in the sequence to be orderable.
This allows the sequence to be used as key in a tree map ( which requires keys to be orderable).
An example can be found in the Advent of Code solution for Dec 22.lib/Sequence: implement
scan1
, variant ofscan
without initial value (#4793)
-
Changes to the following standard library features
-
- Documentation
- Parser
parser: prefix operator precedence over postfix (#4786)
This means that code like
~x~
, which applies bothprefix ~
andpostfix ~
, now will apply the prefix operator first, i.e., the cod will be executed as if parentheses were set like this:(~x)~
.
- Front end
ResolvedNormalType.asThis
do not create this type of universe (#4791)add comment on formal generics (#4759)
add error for illegal use of select (#4738)
cleanup: use "must not" instead of "cannot" for rules or restrictions (#4748)
Feature, add comment to
_effects
field (#4797)Fix #197 by fixing order of
applyTypePars
for call resul type (#4712)fix crash when using type constraints (#4764)
fix setting context for _extension_ features (#4727)
remove possibility to specify types in tuple destructuring (#4702)
suppress error if type of actual is error (#4747)
suppress subsequent error referencing type
--UNDEFINED--
(#4762)suppress subsequent errors for error types (#4731)
fix choice-this-types (#4743)
fix extension feature not found (#4798)
fix fuir-file-naming (#4767)
fix inheritance for contracts (#4732)
fix redefinition for features added to library features (#4794)
LibOut, relax check condition to allow native to have type params (#4832)
fix short handle select parsing (#4704)
- Middle End
- JVM back end
- Docs
The Fuzion Grammar is not shown using Railroad Diagrams: fuzion_railroad.html
- Tests
Cheers,
--The Fuzion Team.