Packages
A project that aims to fuse the concurrency models of OTP and Javascript to allow the careful user to write concurrent code that runs on both the otp backend and the gleam backend
Retired package: This is fundamentally broken, a new version will be published soon
Current section
Files
Jump to
Current section
Files
src/fused@process.erl
-module(fused@process).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/fused/process.gleam").
-export([new/0, send/2, recv/1, new_selector/0, select/2, select_map/3, map_selector/2, merge_selector/2, selector_recv/2, spawn/2, spawn_unlinked/1, link/2, monitor/2, select_monitors/2, select_specific_monitor/3]).
-file("src/fused/process.gleam", 13).
-spec new() -> {gleam@erlang@process:subject(FVF),
gleam@erlang@process:subject(FVF)}.
new() ->
fused@erlang@process:new().
-file("src/fused/process.gleam", 17).
-spec send(gleam@erlang@process:subject(FVI), FVI) -> nil.
send(Send, X) ->
fused@erlang@process:send(Send, X).
-file("src/fused/process.gleam", 21).
-spec recv(gleam@erlang@process:subject(FVK)) -> FVK.
recv(Recv) ->
fused@erlang@process:recv(Recv).
-file("src/fused/process.gleam", 28).
-spec new_selector() -> gleam@erlang@process:selector(any()).
new_selector() ->
fused@erlang@process:new_selector().
-file("src/fused/process.gleam", 32).
-spec select(
gleam@erlang@process:selector(FVP),
gleam@erlang@process:subject(FVP)
) -> gleam@erlang@process:selector(FVP).
select(Selector, Receiver) ->
fused@erlang@process:select(Selector, Receiver).
-file("src/fused/process.gleam", 36).
-spec select_map(
gleam@erlang@process:selector(FVT),
gleam@erlang@process:subject(FVV),
fun((FVV) -> FVT)
) -> gleam@erlang@process:selector(FVT).
select_map(Selector, Receiver, Transform) ->
fused@erlang@process:select_map(Selector, Receiver, Transform).
-file("src/fused/process.gleam", 44).
-spec map_selector(gleam@erlang@process:selector(FVY), fun((FVY) -> FWA)) -> gleam@erlang@process:selector(FWA).
map_selector(A, B) ->
fused@erlang@process:map_selector(A, B).
-file("src/fused/process.gleam", 48).
-spec merge_selector(
gleam@erlang@process:selector(FWC),
gleam@erlang@process:selector(FWC)
) -> gleam@erlang@process:selector(FWC).
merge_selector(A, B) ->
fused@erlang@process:merge_selector(A, B).
-file("src/fused/process.gleam", 52).
-spec selector_recv(
gleam@erlang@process:pid_(),
gleam@erlang@process:selector(FWG)
) -> FWG.
selector_recv(Self, From) ->
fused@erlang@process:selector_recv(Self, From).
-file("src/fused/process.gleam", 62).
-spec spawn(
gleam@erlang@process:pid_(),
fun((gleam@erlang@process:pid_()) -> any())
) -> gleam@erlang@process:pid_().
spawn(Self, F) ->
fused@erlang@process:spawn(Self, F).
-file("src/fused/process.gleam", 66).
-spec spawn_unlinked(fun((gleam@erlang@process:pid_()) -> any())) -> gleam@erlang@process:pid_().
spawn_unlinked(F) ->
fused@erlang@process:spawn_unlinked(F).
-file("src/fused/process.gleam", 70).
-spec link(gleam@erlang@process:pid_(), gleam@erlang@process:pid_()) -> nil.
link(Self, Pid) ->
fused@erlang@process:link(Self, Pid).
-file("src/fused/process.gleam", 74).
-spec monitor(gleam@erlang@process:pid_(), gleam@erlang@process:pid_()) -> gleam@erlang@process:monitor().
monitor(Self, Pid) ->
fused@erlang@process:monitor(Self, Pid).
-file("src/fused/process.gleam", 78).
-spec select_monitors(
gleam@erlang@process:selector(FWN),
fun((gleam@erlang@process:pid_()) -> FWN)
) -> gleam@erlang@process:selector(FWN).
select_monitors(Selector, Mapping) ->
fused@erlang@process:select_monitors(Selector, Mapping).
-file("src/fused/process.gleam", 85).
-spec select_specific_monitor(
gleam@erlang@process:selector(FWQ),
gleam@erlang@process:monitor(),
fun((gleam@erlang@process:pid_()) -> FWQ)
) -> gleam@erlang@process:selector(FWQ).
select_specific_monitor(Selector, Monitor, Mapping) ->
fused@erlang@process:select_specific_monitor(Selector, Monitor, Mapping).