package combic

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val i : 'a -> 'b
val identity : 'a -> 'a
val k : 'a -> 'b -> 'c

Return first argument, ignoring second

val kestrel : 'a -> 'b -> 'a
val pi : 'a -> 'b -> 'c

Return second argument, ignoring first

val penguin : 'a -> 'b -> 'b
val w : ('a -> 'b -> 'c) -> 'd -> 'e

Passes a single value to both arguments of binary function. eg: let double = warbler (+)

val warbler : ('a -> 'a -> 'b) -> 'a -> 'b
val c : ('a -> 'b -> 'c) -> 'd -> 'e -> 'f

Can be used to flip the arguments of a binary function. eg: cardinal String.concat "a";"b" ","

String.concat: string -> string list -> string, but by using cardinal it changes to string list -> string -> string

val cardinal : ('a -> 'b -> 'c) -> 'b -> 'a -> 'c
val b : ('a -> 'b) -> ('c -> 'd) -> 'e -> 'f

Composition eg: bluebird f g = f . g

val bluebird : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
val b1 : ('a -> 'b) -> ('c -> 'd -> 'e) -> 'f -> 'g -> 'h

Composition where b takes two arguments eg: blackbird add1 ( * )

val blackbird : ('a -> 'b) -> ('c -> 'd -> 'a) -> 'c -> 'd -> 'b
val b2 : ('a -> 'b) -> ('c -> 'd -> 'e -> 'f) -> 'g -> 'h -> 'i -> 'j

Composition where b takes three arguments eg: blunting add1 ( fun x y z -> x * y *z )

val blunting : ('a -> 'b) -> ('c -> 'd -> 'e -> 'a) -> 'c -> 'd -> 'e -> 'b
val b3 : ('a -> 'b) -> ('c -> 'd) -> ('e -> 'f) -> 'g -> 'h

Composition with 3 functions eg: becard add1 add1 add1

val becard : ('a -> 'b) -> ('c -> 'a) -> ('d -> 'c) -> 'd -> 'b
val s : ('a -> 'b -> 'c) -> ('d -> 'e) -> 'f -> 'g
val starling : ('a -> 'b -> 'c) -> ('a -> 'b) -> 'a -> 'c
val sigma : ('a -> 'b -> 'c) -> ('d -> 'e) -> 'f -> 'g
val violetstarling : ('a -> 'b -> 'c) -> ('b -> 'a) -> 'b -> 'c
val d : ('a -> 'b -> 'c) -> 'd -> ('e -> 'f) -> 'g -> 'h
val dove : ('a -> 'b -> 'c) -> 'a -> ('d -> 'b) -> 'd -> 'c
val delta : ('a -> 'b -> 'c) -> ('d -> 'e) -> 'f -> 'g -> 'h
val zebradove : ('a -> 'b -> 'c) -> ('d -> 'a) -> 'd -> 'b -> 'c
val fi : ('a -> 'b -> 'c) -> ('d -> 'e) -> 'f -> 'g -> 'h
val phoenix : ('a -> 'a -> 'b) -> ('c -> 'a) -> 'c -> 'c -> 'b
val psi : ('a -> 'b -> 'c) -> ('d -> 'e) -> 'f -> 'g -> 'h
val d1 : ('a -> 'b -> 'c -> 'd) -> 'e -> 'f -> ('g -> 'h) -> 'i -> 'j
val dickcissel : ('a -> 'b -> 'c -> 'd) -> 'a -> 'b -> ('e -> 'c) -> 'e -> 'd
val d2 : ('a -> 'b -> 'c) -> ('d -> 'e) -> 'f -> ('g -> 'h) -> 'i -> 'j
val dovekie : ('a -> 'b -> 'c) -> ('d -> 'a) -> 'd -> ('e -> 'b) -> 'e -> 'c
val e : ('a -> 'b -> 'c) -> 'd -> ('e -> 'f -> 'g) -> 'h -> 'i -> 'j
val eagle : ('a -> 'b -> 'c) -> 'a -> ('d -> 'e -> 'b) -> 'd -> 'e -> 'c
val epsilon : ('a -> 'b -> 'c) -> ('d -> 'e -> 'f) -> 'g -> 'h -> 'i -> 'j
val goldeneagle : ('a -> 'b -> 'c) -> ('d -> 'e -> 'a) -> 'd -> 'e -> 'b -> 'c
val fi1 : ('a -> 'b -> 'c) -> ('d -> 'e -> 'f) -> ('g -> 'h -> 'i) -> 'j -> 'k -> 'l
val pheasant : ('a -> 'b -> 'c) -> ('d -> 'e -> 'a) -> ('d -> 'e -> 'b) -> 'd -> 'e -> 'c
val ehat : ('a -> 'b -> 'c) -> ('d -> 'e -> 'f) -> 'g -> 'h -> ('i -> 'j -> 'k) -> 'l -> 'm -> 'n
val baldeagle : ('a -> 'b -> 'c) -> ('d -> 'e -> 'a) -> 'd -> 'e -> ('f -> 'g -> 'b) -> 'f -> 'g -> 'c
OCaml

Innovation. Community. Security.