2022-06-13: Fuzion June Update
Hi,
Here is this month's update:
- Events
- The talk on Fuzion at last month's Gulaschprogrammiernacht is available online.
- fuzion-lang.dev website
- idioms:
- added idiom 81 rounding of floating point number
- idioms:
- Fuzion Language
- Working with Type values:
-
Overloading with type parameters now works as follows: A feature
f
withm
type parameters andn
value parameters can be called withm+n
actual arguments (m
types andn
values) or, if the types can be inferred from the value parameters, with justn
actual value arguments.If an overloaded
f
withn
formal arguments (type or value) exists, a call withn
actual arguments will always call thisf
withn
formal arguments. - add support for calling type parameters, i.e., in a feature
f(X type)
, it is now possible to callX
as insay X
. The result is an instance of featureType
. - add support to declare inner feature in type feature, e.g.
i32.type.blabla is say "this is blabla in i32.type"
- type features now inherit from the type features of corresponding to the plain features their corresponding plain feature inherits from.
-
- Field are becoming immutable,
set f := e
expressions are removed from the code and will become illegal in user code, mutation is done usingmutate
effect in the base library, see below
- Working with Type values:
- base library
- some changes towards using type parameter arguments instead of generics
using
<
/>
- stdout/err changed intrinsic to write whole strings not just bytes
- added effect for stdin
- added transducers (only filter/map are implemented right now) and means to compose transducers
- added effect
mutate
. A mutable fieldf
with initial valuev
can now be created usingf := mut v
- added
Functions.compose
- some changes towards using type parameter arguments instead of generics
using
- fz command
- bug fixes
- Language Server
- added feature inlay hints
- Team
- Wael Youssfi has joined the Fuzion team for his final student internship.
Cheers,
--Fridtjof.