Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal
»

M

composition.M

(T 
type
, U 
type
, V 
type
, f0 Unary (Unary V T) (Unary U T), f1 Unary U T)
 => 
Unary V T
[Contains abstract features]
M
self application
Bird: Mockingbird
BQN: ?
Haskell: (cannot define)

This is not representable in Fuzion, we would need arguments with generic arguments
here. Using pseudo-syntax ((T,U type) <type using T,U>) to denote a type that is
itself type parameteric...:

public M(f ((T,U type) T -> U)) ((V,W type) V->W) => f f

we can emulate this if we require the argument to be given twice:

Type Parameters

0.094dev (2025-06-18 15:08:51 GIT hash 89cffc23ae669b0898a5564fefbf793fcb8e5ca7 built by fridi@fzen)