Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.

M

composition.M

(T 
type
, U 
type
, V 
type
, f0 Unary (Unary V T) (Unary U T), f1 Unary U T)
 => 
Unary V T
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.095dev (2025-10-09 18:01:25 GIT hash 4826e516431c193e428991dd546a46472973d8d4 built by fridi@fzen)