Compare commits
No commits in common. "eb0954eeee6bb528beb4cf9bab4111245c58bdcf" and "4ec4b62a592b7ee5da3ddfc145f23c4c1bea19fc" have entirely different histories.
eb0954eeee
...
4ec4b62a59
2 changed files with 16 additions and 25 deletions
|
|
@ -72,19 +72,16 @@ defmodule Scopes.Core.Environ do
|
||||||
Core.send_message(rcvr, head, data)
|
Core.send_message(rcvr, head, data)
|
||||||
end
|
end
|
||||||
|
|
||||||
def send_value(addr = {dom, _cat, _item}, value) do
|
def send_value(addr, value) do
|
||||||
send_message(addr, [dom, :data], %{value: value})
|
send_message(addr, ~w(csys data)a, %{value: value})
|
||||||
end
|
|
||||||
|
|
||||||
def create(addr = {dom, _cat, _item}, args \\ []) do
|
|
||||||
send_message(addr, [dom, :create], Map.new(args))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def connect(addr = {dom, _cat, _item}, target, op \\ []) do
|
def connect(addr = {dom, _cat, _item}, target, op \\ []) do
|
||||||
send_message(addr, [dom, :connect], %{target: get_cell(target), op: op})
|
send_message(addr, [dom, :connect],
|
||||||
|
%{target: get_cell(target), op: op})
|
||||||
end
|
end
|
||||||
|
|
||||||
# delegating tasks to env (possibly obsolete)
|
# delegating tasks to env
|
||||||
|
|
||||||
def delegate(env, func) do
|
def delegate(env, func) do
|
||||||
Core.send_message(env, {:exec, func})
|
Core.send_message(env, {:exec, func})
|
||||||
|
|
|
||||||
|
|
@ -126,29 +126,23 @@ defmodule Scopes.Core.Program do
|
||||||
two = {:csys, :c00, "1-1"}
|
two = {:csys, :c00, "1-1"}
|
||||||
three = {:csys, :s01, "1-1"}
|
three = {:csys, :s01, "1-1"}
|
||||||
[
|
[
|
||||||
step_create(zero, addr: one, dir: :pred, op: [Core.data_only(), negate()]),
|
fn -> Environ.send_message(zero, ~w(csys create)a,
|
||||||
step_create(one, addr: two, dir: :succ, op: Core.data_only()),
|
%{op: [Core.data_only(), negate()], addr: one, dir: :pred}) end,
|
||||||
step_create(two, addr: three, dir: :pred),
|
fn -> Environ.send_message(one, ~w(csys create)a,
|
||||||
step_connect(three, zero)
|
%{op: Core.data_only(), addr: two, dir: :succ}) end,
|
||||||
|
fn -> Environ.send_message(two, ~w(csys create)a,
|
||||||
|
%{addr: three, dir: :pred}) end,
|
||||||
|
fn -> Environ.connect(three, zero) end
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
def init_recursive_1() do
|
def init_recursive_1() do
|
||||||
zero = {:csys, :c00, "0-0"}
|
zero = {:csys, :c00, "0-0"}
|
||||||
[
|
[
|
||||||
step_create(zero, dir: :succ),
|
fn -> Environ.send_message(zero, ~w(csys create)a, %{dir: :succ}) end,
|
||||||
step_create(zero, addr: {:csys, :s01, "1-1"}, dir: :pred),
|
fn -> Environ.send_message(zero, ~w(csys create)a,
|
||||||
step_connect(zero, zero, negate())
|
%{addr: {:csys, :s01, "1-1"}, dir: :pred}) end,
|
||||||
|
fn -> Environ.connect(zero, zero, negate()) end
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
# predefined init / execution steps
|
|
||||||
|
|
||||||
def step_create(addr, args) do
|
|
||||||
fn -> Environ.create(addr, args) end
|
|
||||||
end
|
|
||||||
|
|
||||||
def step_connect(addr, target, op \\ []) do
|
|
||||||
fn -> Environ.connect(addr, target, op) end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue