csys: automatically compose op list for synapses
This commit is contained in:
parent
8eb05caaae
commit
b5f78355fe
2 changed files with 2 additions and 1 deletions
|
|
@ -14,6 +14,7 @@ defmodule Scopes.CSys do
|
||||||
end
|
end
|
||||||
|
|
||||||
def synapse(rcvr, op, delay \\ 0) do
|
def synapse(rcvr, op, delay \\ 0) do
|
||||||
|
op = is_list(op) && compose(op) || op
|
||||||
fn msg -> Actor.send(rcvr, op.(msg), delay) end
|
fn msg -> Actor.send(rcvr, op.(msg), delay) end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ defmodule Scopes.CSysTest do
|
||||||
assert 0 = receive_data().value
|
assert 0 = receive_data().value
|
||||||
#CSys.send_message(zero, [:csys, :create, :pred], %{op: neg_only()})
|
#CSys.send_message(zero, [:csys, :create, :pred], %{op: neg_only()})
|
||||||
CSys.send_message(zero, [:csys, :create, :pred],
|
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
|
one = receive_data([:csys, :created]).new
|
||||||
CSys.send_message(one, [:csys, :create, :succ], %{op: CSys.data_only()})
|
CSys.send_message(one, [:csys, :create, :succ], %{op: CSys.data_only()})
|
||||||
two = receive_data([:csys, :created]).new
|
two = receive_data([:csys, :created]).new
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue