Lwt - API Reference ¶
Core library ¶
The core library (lwt package) contains the Lwt module, which defines cooperative threads with all the primitives to manipulate them. It also provides several general purpose modules, which do not depend on any external package.
| Lwt |
Module Lwt: cooperative light-weight threads.
| Lwt_condition |
Conditions
| Lwt_list |
List helpers
| Lwt_mutex |
Cooperative locks for mutual exclusion
| Lwt_mvar |
Mailbox variables
| Lwt_pool |
Creating pools (for example pools of connections to a database).
| Lwt_sequence |
Mutable sequence of elements
| Lwt_pqueue | |
| Lwt_stream |
Data streams
| Lwt_switch |
Lwt switches
Logger ¶
The lwt.log package provides a logger engine.
| Lwt_log_core |
Logging facility
This package depends on the core library
Unix bindings ¶
The lwt.unix package provides:
- the Lwt_unix module, which wrap system calls into cooperative ones
- the Lwt_io module, which defines cooperative byte channel, in replacement of ones of the standard library
- module helpers for logging, spawning processes, ...
| Lwt_daemon |
Daemon helpers
| Lwt_gc |
Interaction with the garbage collector
| Lwt_io |
Buffered byte channels
| Lwt_log |
Logging facility
| Lwt_main |
Main loop and event queue
| Lwt_engine |
Lwt unix main loop engine
| Lwt_process |
Process management
| Lwt_throttle |
Rate limiters
| Lwt_timeout |
Timeouts
| Lwt_unix |
Cooperative system calls
| Lwt_bytes |
Byte arrays
| Lwt_sys |
System informations.
This package depends on the core library, the unix package and the lwt.log package.
Reactive programming helpers ¶
The lwt.react package provides helpers for functionnal reactive programming with Lwt. It is based on the react package. The Lwt_react module is a replacement for the React module. It contains:
- all the functions of the React module
- Lwt specific primitives
- cooperative versions of react functions
| Lwt_react |
React utilities
This package depends on the core library and the react package.
caml4 syntax extensions ¶
Lwt is shipped with two syntax extensions. The first one, contained in the lwt.syntax package, aims to make coding with Lwt easier, and to make code more readable. The second, contained in the package lwt.syntax.log, is a camlp4 filter which decreases the performance penalty when using logging by inlining level tests.
| Pa_lwt |
Syntactic sugars for lwt
| Pa_lwt_log |
Logging facility
ppx syntax extension ¶
This new ppx extension provided by the package lwt.ppx replaces Pa_lwt and Pa_lwt_log using the new ppx mechanism.
| Ppx_lwt |
Ppx syntax extension for Lwt
Miscellaneous ¶
The following modules are wrapper for integration of non-Lwt functions/packages into Lwt.
| Lwt_glib |
Glib integration
| Lwt_preemptive |
This module allows to mix preemptive threads with Lwt cooperative threads.
| Lwt_ssl |
OCaml-SSL integration