2024-06-14: Fuzion June Update
Work is going on on many fronts. The ongoing integration of pre- and post-conditions with effects together with an effect framework for fault handling is maybe the most noticeable improvement.
- General
We are happy to welcome Simon von Hackewitz as a new member of the Fuzion team at Tokiwa Software GmbH!
- Fuzion language
Post conditions of constructors can now access the newly created instance using
result
(#3138)Redefinition of feature with type parameters is now supported, fixed #3136 (#3143)
-
Post-conditions are implemented using effects now. It is possible to handle failed post-conditions in application code now.
Post-condition of redefined features are inherited now, i.e, a post-condition can only be made stronger by a redefinition. (#3037)
Post-condition are purely syntax sugar now, the definition of a post-condition causes the creation of a post-condition feature that checks that condition and causes the corresponding post-condition fault in case it does not hold. (#3100)
EBNF Grammar: added missing rules for native, abstract and intrinsic routines defined using
=>
(#3044)It is now possible to use
universe
in type qualifiers as inuniverse.unit
to solve ambiguities (#3068)destructuring no longer permits overwriting fields (#3089)
Permit
:=
in a field declaration at minimum indentation (#3093)This permits the same indentation syntax for field and routine declarations, e.g.,
# a routine: abc pre true => 42 # a field: def pre true := 4711
- Base library
-
Addition of the following new standard library features
io.buffered
: variant ofread_line
/read_lines
with custom delimiter (#3067)The absolute value of
This is done using prefix and postfix operators, but we might add ax
can now be calculated using|x|
instead ofx.abs
.prepost
operator (#3082)Support for mutable two-dimensional arrays was added (#3090)
-
Changes to the following standard library features
-
- Parser
- Front end
- JVM back end
ids of long class names appearing in stack traces makes tests fragile and were therefore removed (#3135)
- C back end
- Interpreter back end
- util
Suppress any further error output during shutdown due to errors, fix #3142 (#3144)
- Tests
Cheers,
--The Fuzion Team.