From be91b6a446fdb747e8f866bf7275d8495b107980 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Wed, 4 Jun 2025 21:40:28 +0200 Subject: [PATCH] neuron: with additional 'env' argument; basic functionality for testing probe OK --- csys.lisp | 4 ++-- test-csys.lisp | 15 ++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/csys.lisp b/csys.lisp index 295d468..1b60291 100644 --- a/csys.lisp +++ b/csys.lisp @@ -8,9 +8,9 @@ (in-package :decons/csys) -(defun neuron (proc &key state syns) +(defun neuron (proc &key state syns env) (actor:create - (lambda (msg) (funcall proc msg state syns)))) + (lambda (msg) (funcall proc msg state syns env)))) (defun synapse (rcvr &optional (op #'identity)) (lambda (msg) diff --git a/test-csys.lisp b/test-csys.lisp index 0f6ea88..68a7036 100644 --- a/test-csys.lisp +++ b/test-csys.lisp @@ -2,13 +2,18 @@ (in-package :decons/test-decons) -(defun probe (msg state syns) - (let ((t:*test-suite* state)) - (== (actor:content msg) 42))) +(defun probe (msg state syns env) + (let ((t:*test-suite* env)) + (== (actor:content msg) (pop state)) + (lambda (msg) (probe msg state syns env)) + )) (deftest test-neuron () - (let ((prb (csys:neuron #'probe :state t:*test-suite*))) + (let ((prb (csys:neuron #'probe + :state '(42 43) + :env t:*test-suite*))) (actor:send prb (actor:message 42)) - (sleep 0.2) + (actor:send prb (actor:message 43)) + (sleep 0.1) (actor:stop prb) ))