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
fwithmtype parameters andnvalue parameters can be called withm+nactual arguments (mtypes andnvalues) or, if the types can be inferred from the value parameters, with justnactual value arguments.If an overloaded
fwithnformal arguments (type or value) exists, a call withnactual arguments will always call thisfwithnformal arguments. - add support for calling type parameters, i.e., in a feature
f(X type), it is now possible to callXas 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 := eexpressions are removed from the code and will become illegal in user code, mutation is done usingmutateeffect 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 fieldfwith initial valuevcan 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.