(* Internal name of the public [+'a Lwt.result]. The public name is defined
later in the module. This is to avoid potential confusion with
[Pervasives.result]/[Result.result], as the public name would not be
prefixed with [Lwt.] inside this file. *)
type +'a lwt_result = ('a, exn) Result.result
To understand the implementation better, I’d like to know where this Result module comes from. But it seems that it is not defined in the source of Lwt itself, so it must come from one of the dependencies of Lwt.
How can I find out where ? I tried opam show lwt but it didn’t tell me what other packages lwt depended on.
<><> Version-specific details <><><><><><><><><><><><><><><><><><><><><><><><><>
version 4.1.0
repository mirror
url.src: "https://github.com/ocsigen/lwt/archive/4.1.0.tar.gz"
url.checksum: "md5=e919bee206f18b3d49250ecf9584fde7"
homepage: "https://github.com/ocsigen/lwt"
bug-reports: "https://github.com/ocsigen/lwt/issues"
dev-repo: "git+https://github.com/ocsigen/lwt.git"
authors: "Jérôme Vouillon" "Jérémie Dimino"
maintainer: "Anton Bachin <antonbachin@yahoo.com>"
"Mauricio Fernandez <mfp@acm.org>"
"Simon Cruanes <simon.cruanes.2007@m4x.org>"
license: "LGPL with OpenSSL linking exception"
depends: "ocaml" {>= "4.02.0"}
"cppo" {build & >= "1.1.0"}
"jbuilder" {build & >= "1.0+beta14"}
"ocamlfind" {build & >= "1.7.3-1"}
"result"
depopts: "base-threads" "base-unix" "conf-libev"
conflicts: "ocaml-variants" {= "4.02.1+BER"}
synopsis Promises, concurrency, and parallelized 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.
This is part of the output of opam show lwt. It shows the list of dependencies, including result.