Packages
Typed distributed messaging for Gleam on the BEAM.
Retired package: Deprecated - The project needs to be redesigned around a much smaller and clearer core.
Current section
Files
Jump to
Current section
Files
src/distribute.erl
-module(distribute).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/distribute.gleam").
-export([version/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/distribute.gleam", 32).
?DOC(
" The `distribute` library provides **type-safe** distributed computing primitives for Gleam.\n"
"\n"
" ## Type-Safety Enforcement (v2.0+)\n"
"\n"
" All messaging APIs now enforce compile-time type safety using:\n"
" - **GlobalSubject(msg)**: Opaque wrapper with encoder/decoder for type-safe messaging\n"
" - **Binary codecs**: Encoder(a)/Decoder(a) for serialization\n"
" - **gleam_otp integration**: Compatible with standard `Subject(BitArray)`\n"
"\n"
" ## Migration from v1.x\n"
"\n"
" Legacy untyped functions are deprecated:\n"
" - Use `send_global_typed` instead of `send_global`\n"
" - Use `whereis_global` instead of `whereis_typed` for GlobalSubject\n"
" - Use `whereis_with_tag` for custom actors with known tags\n"
"\n"
" ## Core Modules\n"
"\n"
" - `distribute/global`: GlobalSubject type for type-safe distributed messaging\n"
" - `distribute/codec`: Binary serialization with composable encoders/decoders\n"
" - `distribute/cluster`: Cluster formation and management\n"
" - `distribute/connection_pool`: Efficient connection pooling\n"
" - `distribute/groups`: Process groups (pg) with type-safe broadcast\n"
" - `distribute/messaging`: Inter-node type-safe messaging\n"
" - `distribute/monitor`: Node and process monitoring\n"
" - `distribute/node_builder`: Fluent API for node configuration\n"
" - `distribute/registry`: Global process registry with type-safe lookup\n"
" - `distribute/remote_call`: Type-safe RPC mechanisms\n"
" - `distribute/receiver`: Type-safe message receiving with gleam_otp selectors\n"
" - `distribute/settings`: Configuration settings\n"
).
-spec version() -> binary().
version() ->
<<"2.0.0"/utf8>>.