Currently certain combinators are wholly unimplementable when infinite type recursion is required, this is largely affecting combinators related to or describable in terms of or with involvement of the M (Mockingbird) combinator.
Below you will find some of the todo items should infinite type recursion ever be possible in ELM:
module Combinators.Todo exposing (..)
{-| The Crossed Konstant Mocker combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `c (k m)` if that happens.
-}
ckm : Result String value
ckm =
Result.Err "Unimplementable until the M combinator is implemented."
{-| The Konstant Mocker combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `k m` if that happens.
-}
km : Result String value
km =
Result.Err "Unimplementable until the M combinator is implemented."
{-| The L combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `c b m` if that ever becomes possible.
-}
l : Result String value
l =
Result.Err "Unimplementable until the M combinator is implemented."
{-| The M combinator.
Currently unable to implement due to requiring infinite type recursion.
Implementable as `s i i` if that ever becomes possible.
-}
m : Result String value
m =
Result.Err "Unimplemented currently."
{-| The M2 combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `b m` if that happens.
-}
m2 : Result String value
m2 =
Result.Err "Unimplementable until the M combinator is implemented."
{-| The U combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `l o` if that happens.
-}
u : Result String value
u =
Result.Err "Unimplementable until the M combinator is implemented."
{-| The Y combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `s l l` if that happens.
-}
y : Result String value
y =
Result.Err "Unimplementable until the M combinator is implemented."
{-| The ϴ (Big Theta) combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `y o` if that happens.
-}
θ : Result String value
θ =
Result.Err "Unimplementable until the M combinator is implemented."
{-| The Ω (Big omega) combinator.
Currently unable to implement due the M combinator requiring infinite type recursion.
Implementable as `m m` if that happens.
-}
ω : Result String value
ω =
Result.Err "Unimplementable until the M combinator is implemented."
Currently certain combinators are wholly unimplementable when infinite type recursion is required, this is largely affecting combinators related to or describable in terms of or with involvement of the M (Mockingbird) combinator.
Below you will find some of the todo items should infinite type recursion ever be possible in ELM: