Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lwt 3.3.0, Lwt_ppx 1.1.0 – promises and concurrent I/O #11535

Merged
merged 1 commit into from
Mar 8, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions packages/lwt/lwt.3.3.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Promises, concurrency, and parallelized I/O

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.
64 changes: 64 additions & 0 deletions packages/lwt/lwt.3.3.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
opam-version: "1.2"
version: "3.3.0"
maintainer: [
"Anton Bachin <[email protected]>"
"Mauricio Fernandez <[email protected]>"
"Simon Cruanes <[email protected]>"
]
authors: [
"Jérôme Vouillon"
"Jérémie Dimino"
]
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/manual/"
bug-reports: "https://github.com/ocsigen/lwt/issues"
license: "LGPL with OpenSSL linking exception"
dev-repo: "https://github.com/ocsigen/lwt.git"

build: [
[ "ocaml" "src/util/configure.ml" "-use-libev" "%{conf-libev:installed}%"
"-use-camlp4" "%{camlp4:installed}%" ]
[ "jbuilder" "build" "-p" name "-j" jobs ]
[ "ocaml" "src/util/install_filter.ml" ]
]
build-test: [ [ "jbuilder" "runtest" "-p" name ] ]

depends: [
"cppo" {build & >= "1.1.0"}
"jbuilder" {build & >= "1.0+beta14"}
# We are only using ocamlfind during configuration of the Unix binding.
# However, ocamlfind also installs the "threads" package, and ocamlfind
# 1.7.3-1 is the first one whose threads package does not have incorrect error
# lines. See
# https://github.com/ocaml/opam-repository/pull/11071#issuecomment-353131128
# If ocamlfind becomes no longer necessary for configuration of Lwt, this
# dependency should be converted to a conflict, and package jbuilder should be
# constrained such that it also includes the error lines fix.
"ocamlfind" {build & >= "1.7.3-1"}
"ocaml-migrate-parsetree"
"ppx_tools_versioned" {>= "5.0.1"}
# result is needed as long as Lwt still supports OCaml 4.02.
"result"
]
depopts: [
"base-threads"
"base-unix"
"camlp4"
"conf-libev"
]
# In practice, Lwt requires OCaml >= 4.02.3, as that is a constraint of the
# dependency jbuilder.
available: [ocaml-version >= "4.02.0" & compiler != "4.02.1+BER"]

messages: [
"For the PPX, please install package lwt_ppx"
{!lwt_ppx:installed}
"For the Camlp4 syntax, please install package lwt_camlp4"
{camlp4:installed & !lwt_camlp4:installed}
"For Lwt_log and Lwt_daemon, please install package lwt_log"
{!lwt_log:installed}
]
post-messages: [
"Lwt 4.0.0 will make some breaking changes in March 2018. See
https://github.com/ocsigen/lwt/issues/453"
]
2 changes: 2 additions & 0 deletions packages/lwt/lwt.3.3.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://github.com/ocsigen/lwt/archive/3.3.0.tar.gz"
checksum: "47bdf4b429da94419941ebe4354f505f"
1 change: 1 addition & 0 deletions packages/lwt_ppx/lwt_ppx.1.1.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
PPX syntax for Lwt, providing something similar to async/await from JavaScript
28 changes: 28 additions & 0 deletions packages/lwt_ppx/lwt_ppx.1.1.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
opam-version: "1.2"
version: "1.1.0"
maintainer: [
"Anton Bachin <[email protected]>"
]
authors: [
"Gabriel Radanne"
]
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/api/Ppx_lwt"
dev-repo: "https://github.com/ocsigen/lwt.git"
bug-reports: "https://github.com/ocsigen/lwt/issues"
license: "LGPL with OpenSSL linking exception"

depends: [
"jbuilder" {build & >= "1.0+beta12"}
"lwt"
"ocaml-migrate-parsetree"
"ppx_tools_versioned" {>= "5.0.1"}
]
# The Lwt PPX uses the %reraise primitive, which is available on OCaml >= 4.02.
# Even though OCaml PPX itself requires 4.02, we add this constraint for
# thoroughness and safety.
available: [ocaml-version >= "4.02.0"]

build: [
["jbuilder" "build" "-p" name "-j" jobs]
]
2 changes: 2 additions & 0 deletions packages/lwt_ppx/lwt_ppx.1.1.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://github.com/ocsigen/lwt/archive/3.3.0.tar.gz"
checksum: "47bdf4b429da94419941ebe4354f505f"