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_stream |
Data streams
| Lwt_switch |
Lwt switches
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_process |
Process management
| Lwt_throttle |
Rate limiters
| Lwt_timeout |
Timeouts
| Lwt_unix |
Cooperative system calls
| Lwt_bytes |
Byte arrays
This package depends on the core library and the unix package.
Reactive programming helpers ¶
The lwt.react package provides helpers for functionnal reactive
programming with Lwt. It is based on the react package. Both
Lwt_event and Lwt_signal modules contains:
- Lwt specific primitives
- cooperative versions of react functions
| Lwt_event |
Events utilities
| Lwt_signal |
Signals utilities
This package depends on the core library and the react package.
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
Terminal manipulation ¶
The package lwt.text provides:* terminal manipulation through the module Lwt_term
- text channels which behaves as byte channels but are aware of the text encoding
- a cooperative, fully customizable read-line facility
| Lwt_read_line |
Interactive line input
| Lwt_term |
Terminal control
| Lwt_text |
Text channels
This package depends on the core library, and the lwt.react,
lwt.unix, text packages.
Miscellaneous ¶
The following modules are wrapper for integration of non-Lwt
functions/packages into Lwt.
| Lwt_glib | |
| Lwt_lib |
Cooperative unix system calls
| Lwt_preemptive |
This module allows to mix preemptive threads with Lwt cooperative threads.
| Lwt_ssl |
OCaml-SSL integration
Index ¶
<a href="index_types.wiki">Index of types</a><br>
<a href="index_exceptions.wiki">Index of exceptions</a><br>
<a href="index_values.wiki">Index of values</a><br>
<a href="index_methods.wiki">Index of class methods</a><br>
<a href="index_classes.wiki">Index of classes</a><br>
<a href="index_modules.wiki">Index of modules</a><br>
<a href="index_module_types.wiki">Index of module types</a><br>