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)))
|
||||
(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)
|
||||
|
||||
(defun neuron (proc &optional state syns (env *environment*))
|
||||
|
|
@ -78,8 +56,6 @@
|
|||
(defun update-neuron (proc state syns &optional (env *environment*))
|
||||
(actor:become (neuron proc state syns env)))
|
||||
|
||||
;;;; predefined neuron processors and helper / utility funtions
|
||||
|
||||
(defun std-proc (msg state syns env)
|
||||
;(util:lgi msg state)
|
||||
(destructuring-bind (nmsg nst nsyns)
|
||||
|
|
@ -87,6 +63,29 @@
|
|||
(forward nmsg nsyns)
|
||||
(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)
|
||||
(dolist (s syns)
|
||||
(funcall s msg)))
|
||||
|
|
@ -102,6 +101,7 @@
|
|||
(list msg state syns))
|
||||
|
||||
(defun remember (msg state syns env)
|
||||
;(list msg (make-neuron-state (shape:data msg) syns))
|
||||
(list msg (shape:data msg) syns))
|
||||
|
||||
(defun create-sensor (msg state syns env)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue