csys: rearrange code + comments
This commit is contained in:
parent
ef80927de4
commit
ff1183707a
1 changed files with 24 additions and 24 deletions
|
|
@ -37,28 +37,6 @@
|
||||||
(zero (make-neuron nil :proc eff-proc)))
|
(zero (make-neuron nil :proc eff-proc)))
|
||||||
(setf (gethash '(:init :zero) (sensors *environment*)) (list zero))))
|
(setf (gethash '(:init :zero) (sensors *environment*)) (list zero))))
|
||||||
|
|
||||||
;;;; sensors: neurons receiving messages from environment, addressable via message head
|
|
||||||
|
|
||||||
(defun send-message (head data &key customer)
|
|
||||||
(send (message:create head :data data :customer customer)))
|
|
||||||
|
|
||||||
(defun send (msg)
|
|
||||||
(if (eq (shape:head-value msg :domain) :csys)
|
|
||||||
(dolist (sn (find-sensors msg))
|
|
||||||
(actor:send sn msg))
|
|
||||||
(core:handle-message core:*root* msg)))
|
|
||||||
|
|
||||||
(defun find-sensors (msg)
|
|
||||||
(let* ((key (cddr (shape:head msg)))
|
|
||||||
(sns (gethash key (sensors *environment*))))
|
|
||||||
(util:lgi key sns)
|
|
||||||
sns))
|
|
||||||
|
|
||||||
;;;; detectors: pseudo-neurons embedded in environment, addressable via message head
|
|
||||||
|
|
||||||
(defun do-log (msg state syns env)
|
|
||||||
(util:lgi msg))
|
|
||||||
|
|
||||||
;;;; neurons (= behavior factories) and synapses (connection factories)
|
;;;; neurons (= behavior factories) and synapses (connection factories)
|
||||||
|
|
||||||
(defun neuron (proc &optional state syns (env *environment*))
|
(defun neuron (proc &optional state syns (env *environment*))
|
||||||
|
|
@ -78,8 +56,6 @@
|
||||||
(defun update-neuron (proc state syns &optional (env *environment*))
|
(defun update-neuron (proc state syns &optional (env *environment*))
|
||||||
(actor:become (neuron proc state syns env)))
|
(actor:become (neuron proc state syns env)))
|
||||||
|
|
||||||
;;;; predefined neuron processors and helper / utility funtions
|
|
||||||
|
|
||||||
(defun std-proc (msg state syns env)
|
(defun std-proc (msg state syns env)
|
||||||
;(util:lgi msg state)
|
;(util:lgi msg state)
|
||||||
(destructuring-bind (nmsg nst nsyns)
|
(destructuring-bind (nmsg nst nsyns)
|
||||||
|
|
@ -87,6 +63,29 @@
|
||||||
(forward nmsg nsyns)
|
(forward nmsg nsyns)
|
||||||
(update-neuron #'std-proc nst nsyns env)))
|
(update-neuron #'std-proc nst nsyns env)))
|
||||||
|
|
||||||
|
;;;; sensors: neurons receiving messages from environment, addressable via message head
|
||||||
|
|
||||||
|
(defun send-message (head data &key customer)
|
||||||
|
(send (message:create head :data data :customer customer)))
|
||||||
|
|
||||||
|
(defun send (msg)
|
||||||
|
(dolist (sn (find-sensors msg))
|
||||||
|
(actor:send sn msg)))
|
||||||
|
|
||||||
|
(defun find-sensors (msg)
|
||||||
|
(let* ((key (cddr (shape:head msg)))
|
||||||
|
(sns (gethash key (sensors *environment*))))
|
||||||
|
;(util:lgi key sns)
|
||||||
|
sns))
|
||||||
|
|
||||||
|
;;;; effectors: pseudo-neurons embedded in environment
|
||||||
|
|
||||||
|
(defun do-log (msg state syns env)
|
||||||
|
(util:lgi msg))
|
||||||
|
|
||||||
|
|
||||||
|
;;;; helper / utility funtions
|
||||||
|
|
||||||
(defun forward (msg syns)
|
(defun forward (msg syns)
|
||||||
(dolist (s syns)
|
(dolist (s syns)
|
||||||
(funcall s msg)))
|
(funcall s msg)))
|
||||||
|
|
@ -102,6 +101,7 @@
|
||||||
(list msg state syns))
|
(list msg state syns))
|
||||||
|
|
||||||
(defun remember (msg state syns env)
|
(defun remember (msg state syns env)
|
||||||
|
;(list msg (make-neuron-state (shape:data msg) syns))
|
||||||
(list msg (shape:data msg) syns))
|
(list msg (shape:data msg) syns))
|
||||||
|
|
||||||
(defun create-sensor (msg state syns env)
|
(defun create-sensor (msg state syns env)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue