Promises and event-driven I/O
Description

A promise is a value that may become determined in the future.

Lwt provides typed, composable promises. Promises that are resolved by I/O are resolved by Lwt in parallel.

Meanwhile, OCaml code, including code creating and waiting on promises, runs in a single thread by default. This reduces the need for locks or other synchronization primitives. Code can be run in parallel on an opt-in basis.

Install

Published

09 Mar 2020

Authors

Maintainers

Sources

5.2.0.tar.gz
md5=d5783fcff4fbfa7f79c9303776e4d144

Dependencies

ocamlfind dev & >= "1.7.3-1"
bisect_ppx dev & >= "1.3.0"
ocaml >= "4.02.0" & < "4.12"
mmap >= "1.1.0"
dune >= "1.7.0"
cppo build & >= "1.1.0"

Reverse Dependencies

0install >= "2.15.1"
amqp-client >= "0.9.0" & < "1.0.2" | >= "1.1.0"
arakoon < "1.8.6" | >= "1.8.8"
arp >= "2.3.1"
arp-mirage >= "2.2.1"
bap < "1.0.0"
bap-server < "0.2.0"
biocaml = "0.4.0"
bistro >= "0.4.0"
bun >= "0.3.3"
camltc = "0.9.5" | >= "0.9.7.0"
capnp-rpc-lwt < "1.2.3"
capnp-rpc-unix >= "0.9.0" & < "1.2.3"
caqti-lwt >= "0.11.0"
charrua-client >= "1.3.0"
charrua-unix >= "0.3" & != "0.10"
cowabloga >= "0.2.2"
crunch >= "2.0.0"
ctypes >= "0.15.0"
current < "0.6.4"
current_git < "0.6.4"
current_slack < "0.6.4"
current_web < "0.6.4"
data-encoding < "0.1.1"
datakit-client >= "0.11.0"
devkit >= "1.2"
dht < "0.2.0"
dns >= "0.19.1" & < "0.20.1"
dns-cli >= "4.6.3"
dns-client < "7.0.0"
dns-forward >= "0.9.0"
earlybird < "1.0.0"
ezjs_min < "0.2"
ezjsonm >= "0.4.2" & < "0.5.0"
fat-filesystem >= "0.12.0"
flowtype >= "0.72.0"
frenetic < "2.0.0"
gdbprofiler >= "0.3"
git != "1.4.3" & != "1.7.2"
git-unix = "1.11.1" | >= "3.0.0" & < "3.10.0"
github-hooks < "0.2.0" | >= "0.4.0"
github-unix >= "4.4.0"
gluten-mirage < "0.4.0"
h2-lwt-unix < "0.10.0"
hardcaml < "1.1.0"
hiredis != "0.4"
horned_worm < "0.3.1"
http-multipart-formdata >= "2.0.0" & < "3.0.0"
hvsock >= "1.0.2"
i3ipc >= "0.1.4"
inotify >= "2.4"
inquire < "0.3.0"
iocaml < "0.4.6"
iocaml-kernel >= "0.4.3" & < "0.4.6"
irmin < "0.9.6" | = "0.9.10" | >= "0.11.0" & < "2.7.0"
irmin-bench < "2.7.0"
irmin-chunk < "2.7.0"
irmin-fs >= "2.3.0" & < "2.7.0"
irmin-git >= "2.3.0" & < "2.7.0"
irmin-graphql >= "2.3.0" & < "2.7.0"
irmin-http >= "2.3.0" & < "2.7.0"
irmin-layers < "2.7.0"
irmin-mem >= "2.3.0"
irmin-mirage-git >= "2.3.0" & < "2.7.0"
irmin-mirage-graphql >= "2.3.0" & < "2.7.0"
irmin-pack < "2.7.0"
irmin-test >= "2.3.0" & < "2.7.0"
irmin-unix >= "2.3.0" & < "2.7.0"
irmin-watcher >= "0.3.0"
jose < "0.9.0"
jupyter >= "2.3.0"
kafka >= "0.3" & < "0.5"
ke >= "0.5"
ketrew >= "3.2.0"
kinetic-client < "0.0.3" | >= "0.0.9"
lablqml < "0.6"
lambda-term >= "1.13"
learn-ocaml >= "0.13.0"
links != "0.9"
lwt-binio < "0.2.0"
lwt-parallel >= "1.0.0"
lwt-zmq < "1.0.0"
lwt_domain < "0.3.0"
lwt_glib >= "1.0.1"
lwt_log >= "1.1.0"
lwt_react >= "1.0.1"
lwt_ssl >= "1.0.1"
mariadb < "0.5.1"
markup = "0.7.6"
mbr-format >= "1.0.0"
mirage >= "0.4.1" & != "0.6.1" & < "0.8.0" | >= "0.10.0" & < "2.7.0"
mirage-block < "1.0.0" | >= "2.0.0"
mirage-block-unix < "2.3.0" | = "2.8.2"
mirage-channel >= "4.0.0"
mirage-clock-unix >= "1.3.0" & < "3.0.0"
mirage-console >= "3.0.0"
mirage-crypto-rng >= "0.7.0" & < "0.11.0"
mirage-device >= "2.0.0"
mirage-dns < "3.0.0"
mirage-flow >= "1.0.3" & < "1.2.0" | >= "2.0.0"
mirage-fs >= "3.0.0"
mirage-fs-unix < "1.1.1" | >= "1.3.0"
mirage-kv >= "3.0.0"
mirage-logs != "0.3.0"
mirage-nat < "3.0.0"
mirage-net >= "3.0.1"
mirage-os-shim >= "3.0.0"
mirage-protocols >= "4.0.0" & < "8.0.0"
mirage-qubes < "0.2" | >= "0.4"
mirage-runtime >= "3.7.0"
mirage-stack >= "2.0.0" & < "4.0.0"
mirage-time >= "2.0.0"
mirage-unix >= "3.0.0"
mirage-www >= "1.1.0"
mqtt >= "0.0.2"
mrmime >= "0.5.0"
multipart_form >= "0.2.0" & < "0.4.0"
nbd = "2.1.1" | >= "4.0.3"
nocrypto >= "0.5.4"
nsq >= "0.4.0"
obuilder < "0.4"
obus >= "1.2.1"
ocaml-variants >= "4.00.1+mirage-unix" & < "4.00.1+open-types"
ocluster < "0.2"
ocsigenserver >= "2.10"
odoc >= "2.0.0" & < "2.1.0"
ojs-base < "0.6.0"
openflow < "0.2.0"
opium >= "0.11.0" & != "0.16.0" & < "0.19.0"
ordma >= "0.0.3"
oskel >= "0.3.0"
ounit-lwt < "2.2.0"
ox < "1.1.0"
pcap-format >= "0.3.3" & < "0.5.0"
plotkicadsch >= "0.4.0"
ppx_defer >= "0.4.0"
protocol-9p >= "0.10.0"
qcow >= "0.8.1"
qfs = "0.5" | >= "0.7"
rawlink >= "1.0" & < "2.1"
resp-mirage >= "0.10.0"
resp-unix >= "0.10.0"
rpc >= "1.5.1" & < "7.1.0"
SZXX < "2.0.0"
shared-block-ring < "2.3.0" | >= "3.0.0"
shared-memory-ring >= "1.2.0" & < "2.0.0"
socket-daemon < "0.3.0"
spin < "0.6.0"
sqlexpr = "0.7.1" | >= "0.9.0"
stog >= "0.16.0" & < "0.19.0"
syndic >= "1.4" & < "1.6.0"
tar-format >= "0.4.1"
tar-mirage < "2.2.0"
tcpip >= "3.1.1" & < "3.4.1" | >= "4.1.0"
tezos-error-monad >= "8.0" & < "9.0"
tezos-lwt-result-stdlib >= "9.0" & < "11.0"
tezos-p2p >= "11.0" & < "13.0"
tls = "0.10.1" | >= "0.10.6" & < "0.16.0"
tube >= "4.3.0"
tuntap >= "1.0.0" & < "1.7.0" | >= "2.0.0"
utop >= "1.4.0"
uwt >= "0.3.0"
vchan >= "0.9.7" & < "2.0.0" | >= "2.0.3"
vhd-format >= "0.7.0" & < "0.8.0"
vhd-format-lwt >= "0.12.0"
vhd-tool < "0.12.0"
vmnet >= "1.3.2"
vpnkit >= "0.2.0"
vue-jsoo < "0.3"
websocket < "2.3"
xen-api-client < "0.9.14"
xen-evtchn < "1.0.6" | >= "2.0.0"
xen-gnt >= "2.2.3"
xenctrl < "0.9.29" | >= "0.9.32"
xenstore >= "1.3.0"
yurt < "0.3"

Conflicts

ocaml-variants = "4.02.1+BER"