Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file future.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152moduletypeS=sigtypehow=[`Parallel|`Sequential|`Max_concurrent_jobsofint](** [`Max_concurrent_jobs] supported only for Async
implementation. The Lwt implementation treats this the same as
[`Parallel]. Blocking implementation treats all as [`Sequential]. *)moduleDeferred:sigincludeMonad.Svalunit:unittmoduleResult:Monad.S2withtype('a,'b)t=('a,'b)Result.ttmoduleList:sigvalfold:'alist->init:'b->f:('b->'a->'bt)->'btvaliter:?how:how->'alist->f:('a->unitt)->unittvalmap:?how:how->'alist->f:('a->'bt)->'blisttvalfilter:?how:how->'alist->f:('a->boolt)->'alisttendmoduleOr_error:sigmoduleList:sigvalmap:?how:how->'alist->f:('a->'bOr_error.tt)->'blistOr_error.ttvaliter:?how:how->'alist->f:('a->unitOr_error.tt)->unitOr_error.ttendendendvalreturn:'a->'aDeferred.tval(>>=):'aDeferred.t->('a->'bDeferred.t)->'bDeferred.tval(>>|):'aDeferred.t->('a->'b)->'bDeferred.tval(>>=?):('a,'b)Deferred.Result.t->('a->('c,'b)Deferred.Result.t)->('c,'b)Deferred.Result.tval(>>|?):('a,'b)Deferred.Result.t->('a->'c)->('c,'b)Deferred.Result.t(** Difference from Async: Use [fail] instead of [raise]. *)valfail:exn->'aDeferred.tvalraise:[>`Use_fail_instead](** Async supports several extra parameters to this function, which
we do not currently support. *)valtry_with:(unit->'aDeferred.t)->('a,exn)Result.tDeferred.tmoduleIn_thread:sigvalrun:(unit->'a)->'aDeferred.tendmodulePipe:sigmoduleReader:sigtype'atendvalread:'aReader.t->[`Eof|`Okof'a]Deferred.t(** Discard one item from the pipe. Do nothing if pipe is already
fully consumed. Difference from Async: This function is not
defined. *)valjunk:'aReader.t->unitDeferred.t(** Like [read] but doesn't consume the item. Difference from
Async: This function is not defined. We don't call this
function [peek] because that is already another function in
Async, which has different semantics. *)valpeek_deferred:'aReader.t->[`Eof|`Okof'a]Deferred.tvalmap:'aReader.t->f:('a->'b)->'bReader.tvalfold:'aReader.t->init:'accum->f:('accum->'a->'accumDeferred.t)->'accumDeferred.tvaliter:'aReader.t->f:('a->unitDeferred.t)->unitDeferred.tendmoduleReader:sigmoduleRead_result:sigtype'at=[`Eof|`Okof'a]endtypet(** Difference from Async: implementations should try to use
[buf_len] but are not required to. *)valopen_file:?buf_len:int->string->tDeferred.tvalclose:t->unitDeferred.t(** Difference from Async: implementations should try to use
[buf_len] but are not required to. *)valwith_file:?buf_len:int->string->f:(t->'aDeferred.t)->'aDeferred.tvalread_line:t->stringRead_result.tDeferred.tvalread_all:t->(t->'aRead_result.tDeferred.t)->'aPipe.Reader.tvallines:t->stringPipe.Reader.tvalcontents:t->stringDeferred.tvalfile_contents:string->stringDeferred.tvalfile_lines:string->stringlistDeferred.tendmoduleWriter:sigtypetvalwith_file:?perm:int->?append:bool->string->f:(t->'aDeferred.t)->'aDeferred.t(** Following functions returned a Deferred.t, while in Async they
return unit. *)valwrite:t->string->unitDeferred.tvalwrite_char:t->char->unitDeferred.tvalwrite_line:t->string->unitDeferred.tendend