From 9dfb96d99cde62d85a720d2ab3970ab511702323 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 11 Aug 2026 14:35:07 +0200 Subject: [PATCH] csys:environ: send-message, send-connect: clean-up, improvments --- csys/environ.lisp | 14 ++++++-------- csys/program/basic.lisp | 12 ++---------- test/test-csys.lisp | 6 ++---- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/csys/environ.lisp b/csys/environ.lisp index e0e42f5..84865b0 100644 --- a/csys/environ.lisp +++ b/csys/environ.lisp @@ -102,9 +102,12 @@ ;;;; public shortcuts -(defun send-value (cat-loc val &key (domain csys:*domain*) (env *env*) delay) +(defun send-message (head data &key (env *env*)) + (actor:send env (message:create head :data data))) + +(defun send-value (cat-loc val &key (domain csys:*domain*) (env *env*)) (let ((head (cons domain (cons :value cat-loc)))) - (actor:send env (message:create head :data `(:value ,val))))) + (send-message head `(:value ,val) :env env))) (defun send-connect (rcvr target &key (domain csys:*domain*) (env *env*) op) (let* ((cat-loc (when (listp rcvr) rcvr)) @@ -114,13 +117,8 @@ (when (and (listp target) (< (length target) 3)) (setf target (cons domain target))) (util:plist-add data :target target) - (util:lgi rcvr target cat-loc head data) - (actor:send env (message:create head :data data)))) + (send-message head data :env env))) -(defun x-send-connect (env &rest args &key (domain csys:*domain*) to target op) - (let ((head (list domain :connect))) - (actor:send env (message:create head :data args)))) - ;;;; internal helpers (defun register-cell (reg addr cell) diff --git a/csys/program/basic.lisp b/csys/program/basic.lisp index 1648714..3ce8b2b 100644 --- a/csys/program/basic.lisp +++ b/csys/program/basic.lisp @@ -54,12 +54,8 @@ (defun b1-next-one () (lambda (msg scope) (let ((self actor:*self*) - (environ:*env* (csys:environ scope)) - (env (csys:environ scope))) + (environ:*env* (csys:environ scope))) (environ:send-connect self '(:e01 "1-0") :op (csys:multiply -1)) - ;(environ:send-connect env :to self :target '(:csys :e01 "1-0") - ; :op (csys:multiply -1)) - ;(environ:send-connect env :to self :target '(:csys :e01 "1-1")) (environ:send-connect self '(:e01 "1-1")) ;; switch :active nil))) @@ -90,14 +86,10 @@ (defun b2-next-one () (lambda (msg scope) (let ((self actor:*self*) - (env (csys:environ scope)) - (environ:*env* (csys:environ scope)) - (zero '(:csys :c02 "0-0"))) + (environ:*env* (csys:environ scope))) (csys:send-create self :cat :s02 :loc "1-1" :connect :pred) (csys:send-create self :cat :e02 :loc "2-1" :connect :succ) (environ:send-connect self '(:c02 "0-0") :op (csys:multiply -1)) (environ:send-connect '(:c02 "0-0") self :op (csys:multiply -1)) ;; switch :active nil))) - - diff --git a/test/test-csys.lisp b/test/test-csys.lisp index 23ce91b..7945db5 100644 --- a/test/test-csys.lisp +++ b/test/test-csys.lisp @@ -89,10 +89,8 @@ (deftest test-basic-2 () (let ((environ:*env* (setup-test (basic:config-b2)))) (sleep 0.02) - (environ:send-value '(:s02 "1-0") 1) - (sleep 0.0001) - (environ:send-value '(:s02 "1-1") 2) ;; 2 => loop - (sleep 0.0001) + (environ:send-value '(:s02 "1-0") 1) (sleep 0.0001) + (environ:send-value '(:s02 "1-1") 2) (sleep 0.0001) ;; 2 => loop (environ:send-value '(:s02 "1-0") 2) ;; stop loop (sleep 0.03) (core:shutdown)))