use new :create action, remove old create actions and handlers

This commit is contained in:
Helmut Merz 2026-06-17 14:39:40 +02:00
parent 22bf6fdf2c
commit 1ff299bee1

View file

@ -60,8 +60,6 @@ defmodule Scopes.Core.Program do
[:csys, :data | _rest] -> process_basic(msg, scope, args) [:csys, :data | _rest] -> process_basic(msg, scope, args)
#[:csys, :trigger | _rest] -> process_trigger(msg, scope) #[:csys, :trigger | _rest] -> process_trigger(msg, scope)
[:csys, :connect | _rest] -> Core.connect(msg, scope) [:csys, :connect | _rest] -> Core.connect(msg, scope)
[:csys, :create, :succ | _rest] -> create_succ(msg, scope)
[:csys, :create, :pred | _rest] -> create_pred(msg, scope)
[:csys, :create | _rest] -> create(msg, scope) [:csys, :create | _rest] -> create(msg, scope)
#[:csys, :next | _rest] -> next(msg, scope) #[:csys, :next | _rest] -> next(msg, scope)
_ -> Core.forward(msg, scope) || Core.notify(msg, scope) _ -> Core.forward(msg, scope) || Core.notify(msg, scope)
@ -92,18 +90,6 @@ defmodule Scopes.Core.Program do
end end
end end
def create_succ(msg, scope) do
new = Core.create(msg, restart(scope))
data = Shape.data(msg)
Core.send_message(self(), ~w(csys connect)a, Map.put(data, :target, new))
end
def create_pred(msg, scope) do
new = Core.create(msg, restart(scope))
data = Shape.data(msg)
Core.send_message(new, ~w(csys connect)a, Map.put(data, :target, self()))
end
def create(msg, scope) do def create(msg, scope) do
new = Core.create(msg, restart(scope)) new = Core.create(msg, restart(scope))
data = Shape.data(msg) data = Shape.data(msg)
@ -140,11 +126,12 @@ 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"]
[ [
&Environ.send_message(&1, zero, ~w(csys create pred)a, &Environ.send_message(&1, zero, ~w(csys create)a,
%{op: [Core.data_only(), negate()], addr: one}), %{op: [Core.data_only(), negate()], addr: one, dir: :pred}),
&Environ.send_message(&1, one, ~w(csys create succ)a, &Environ.send_message(&1, one, ~w(csys create)a,
%{op: Core.data_only(), addr: two}), %{op: Core.data_only(), addr: two, dir: :succ}),
&Environ.send_message(&1, two, ~w(csys create pred)a, %{addr: three}), &Environ.send_message(&1, two, ~w(csys create)a,
%{addr: three, dir: :pred}),
&Environ.connect(&1, three, zero) &Environ.connect(&1, three, zero)
] ]
end end
@ -152,9 +139,9 @@ defmodule Scopes.Core.Program do
def init_recursive_1() do def init_recursive_1() do
zero = [:csys, :c00, "0-0"] zero = [:csys, :c00, "0-0"]
[ [
&Environ.send_message(&1, zero, ~w(csys create succ)a, %{}), &Environ.send_message(&1, zero, ~w(csys create)a, %{dir: :succ}),
&Environ.send_message(&1, zero, ~w(csys create pred)a, &Environ.send_message(&1, zero, ~w(csys create)a,
%{addr: [:csys, :s01, "1-1"]}), %{addr: [:csys, :s01, "1-1"], dir: :pred}),
&Environ.connect(&1, zero, zero, negate()) &Environ.connect(&1, zero, zero, negate())
] ]
end end