110 lines
2.3 KiB
Plaintext
110 lines
2.3 KiB
Plaintext
|
{1 Lwt - API Reference}
|
||
|
|
||
|
{2 Core library}
|
||
|
|
||
|
The {e core} library ({e 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.
|
||
|
|
||
|
{!modules:
|
||
|
Lwt
|
||
|
Lwt_condition
|
||
|
Lwt_list
|
||
|
Lwt_mutex
|
||
|
Lwt_mvar
|
||
|
Lwt_pool
|
||
|
Lwt_sequence
|
||
|
Lwt_pqueue
|
||
|
Lwt_stream
|
||
|
Lwt_switch
|
||
|
}
|
||
|
|
||
|
{2 Unix bindings}
|
||
|
|
||
|
The {e 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, ...
|
||
|
|
||
|
{!modules:
|
||
|
Lwt_daemon
|
||
|
Lwt_gc
|
||
|
Lwt_io
|
||
|
Lwt_log
|
||
|
Lwt_main
|
||
|
Lwt_engine
|
||
|
Lwt_process
|
||
|
Lwt_throttle
|
||
|
Lwt_timeout
|
||
|
Lwt_unix
|
||
|
Lwt_bytes
|
||
|
Lwt_sys
|
||
|
}
|
||
|
|
||
|
This package depends on the {e core} library and the {e unix} package.
|
||
|
|
||
|
{2 Reactive programming helpers}
|
||
|
|
||
|
The {e lwt.react} package provides helpers for functionnal reactive
|
||
|
programming with Lwt. It is based on the {e 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 {e react} functions
|
||
|
|
||
|
{!modules:
|
||
|
Lwt_react
|
||
|
}
|
||
|
|
||
|
This package depends on the {e core} library and the {e react} package.
|
||
|
|
||
|
{2 Syntax extensions}
|
||
|
|
||
|
Lwt is shipped with two syntax extensions. The first one, contained in
|
||
|
the {e lwt.syntax} package, aims to make coding with Lwt easier, and
|
||
|
to make code more readable. The second, contained in the package {e
|
||
|
lwt.syntax.log}, is a camlp4 filter which decreases the performance
|
||
|
penalty when using logging by inlining level tests.
|
||
|
|
||
|
{!modules:
|
||
|
Pa_lwt
|
||
|
Pa_lwt_log
|
||
|
}
|
||
|
|
||
|
{2 Terminal manipulation}
|
||
|
|
||
|
The package {e 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
|
||
|
|
||
|
{!modules:
|
||
|
Lwt_read_line
|
||
|
Lwt_term
|
||
|
Lwt_text
|
||
|
}
|
||
|
|
||
|
This package depends on the {e core} library, and the {e lwt.react},
|
||
|
{e lwt.unix}, {e text} packages.
|
||
|
|
||
|
{2 Miscellaneous}
|
||
|
|
||
|
The following modules are wrapper for integration of non-Lwt
|
||
|
functions/packages into Lwt.
|
||
|
|
||
|
{!modules:
|
||
|
Lwt_glib
|
||
|
Lwt_lib
|
||
|
Lwt_preemptive
|
||
|
Lwt_ssl
|
||
|
}
|
||
|
|
||
|
{2 Index}
|
||
|
|
||
|
{!indexlist}
|