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

M

composition.M

(T 
type
:
Type, U 
type
:
Type, V 
type
:
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-08-15 12:02:22 GIT hash 301b5b75e77076d091b38f555473f9f0e31e5b5c built by fridi@fzen)