csys: automatically compose op list for synapses

This commit is contained in:
Helmut Merz 2026-05-19 17:06:24 +02:00
parent 8eb05caaae
commit b5f78355fe
2 changed files with 2 additions and 1 deletions

View file

@ -14,6 +14,7 @@ defmodule Scopes.CSys do
end
def synapse(rcvr, op, delay \\ 0) do
op = is_list(op) && compose(op) || op
fn msg -> Actor.send(rcvr, op.(msg), delay) end
end

View file

@ -28,7 +28,7 @@ defmodule Scopes.CSysTest do
assert 0 = receive_data().value
#CSys.send_message(zero, [:csys, :create, :pred], %{op: neg_only()})
CSys.send_message(zero, [:csys, :create, :pred],
%{op: CSys.compose([CSys.data_only(), Program.negate()])})
%{op: [CSys.data_only(), Program.negate()]})
one = receive_data([:csys, :created]).new
CSys.send_message(one, [:csys, :create, :succ], %{op: CSys.data_only()})
two = receive_data([:csys, :created]).new