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.097dev (GIT hash 6a5de4939ddf29875c1d9a706508d9bfd0cd7ca9)
last changed: 2026-06-08