Standard Operators for the working Swift Librarian.
Operadics introduces the following operators at global scope
| Operator | Name | Recommended Type | 
|---|---|---|
| • | compose | •     <A, B, C>(B -> C, A -> B) -> A -> C | 
| § | apply | §     <A, B>(A -> B, A) -> B | 
| <| | apply | <|    <A, B>(A -> B, A) -> B | 
| |> | thrush | |>    <A, B>(A, A -> B) -> B | 
| <- | extract | <-    <A>(M<A>, A) -> Void | 
| |*| | on | |*|   <A, B, C>((B, B) -> C, A -> B) -> A -> A -> C | 
| <> | op | <>    <A : Monoid>(A, A) -> A | 
| <^ | replace | <^    <A, B>(A, F<B>) -> F<A> | 
| ^> | replace | ^>    <A, B>(F<A>, B) -> F<B> | 
| <^> | fmap | <^>   <A, B>(A -> B, F<A>) -> F<B> | 
| <^^> | imap | <^^>  <I, J, A>(I -> J, F<I, A>) -> F<J, A> | 
| <!> | contramap | <^>   <I, J, A>(J -> I, F<I, A>) -> F<J, A> | 
| <*> | apply | <*>   <A, B>(F<A -> B>, F<A>) -> F<B> | 
| >>- | bind | >>-   <A, B>(F<A>, A -> F<B>) -> F<B> | 
| -<< | bind | -<<   <A, B>(A -> F<B>, F<A>) -> F<B> | 
| >>->> | Kleisli | >>->> <A, B, C>(A -> F<B>, B -> F<C>) -> A -> F<C> | 
| <<-<< | Kleisli | <<-<< <A, B, C>(B -> F<C>, A -> F<B>) -> A -> F<C> | 
| ->> | extend | ->>   <A, B>(F<A>, F<A> -> B) -> F<B> | 
| <<< | r-t-l compose | <<<   <C, A, B, C>(C<B, C>, C<A, B>) -> C<A, C> | 
| >>> | l-t-r compose | >>>   <C, A, B, C>(C<A, B>, C<B, C>) -> C<A, C> | 
| &&& | split | &&&   <A, B, C, D>(A<B, C>, A<B, D>) -> A<B, (C, D)> | 
| *** | fanout | ***   <A, B, C, D, E>(A<B, C>, A<D, E>) -> A<(B, D), (C, E)> | 
| +++ | splat | +++   <A, B, C, D, E>(A<B, C>, A<D, E>) -> A<Either<D, B>, Either<C, E>> | 
| ||| | fanin | |||   <A, B, C, D, E>(A<B, D>, A<C, D>) -> A<Either<B, C>, D> | 
| <+> | op | <+>   <A, B, C>(A<B, C>, A<B, C>) -> A<B, C> | 
| <? | retrieve | <?    <A : JSONDecodable>(JSONValue, JSONKeypath) -> A? | 
| <?? | opt retrieve | <??   <A : JSONDecodable>(JSONValue, JSONKeypath) -> A?? | 
| <! | force retrieve | <!    <A : JSONDecodable>(JSONValue, JSONKeypath) -> A | 
| ∪ | union | ∪     <A>(Set<A>, Set<A>) -> Set<A> | 
| ∩ | intersect | ∩     <A>(Set<A>, Set<A>) -> Set<A> |