package bap-future

  1. Overview
  2. Docs
type ('f, 'r) t

'f is the type of a function that consumes the list of arguments and returns an 'r.

val nil : ('r, 'r) t

nil the empty argument list *

val cons : 'a future -> ('f, 'r) t -> ('a -> 'f, 'r) t

const arg t prepend an argument

val (@>) : 'a future -> ('f, 'r) t -> ('a -> 'f, 'r) t

@> infix operator for cons

val step : ('f1, 'r) t -> f:('f2 -> 'f1) -> ('f2, 'r) t

step t ~f transforms argument values in some way. For example, one can label a function argument like so:

step ~f:(fun f x -> f ~foo:x) : ('a -> 'r1, 'r2) t -> (foo:'a -> 'r1, 'r2) t
val applyN : 'f future -> ('f, 'r) t -> 'r future

applyN f args applies function stored in future f to args

val mapN : f:'f -> ('f, 'r) t -> 'r future

mapN ~f args applies function f to args