environ: use cell registry: register-cell, find-cells

This commit is contained in:
Helmut Merz 2026-07-19 15:26:13 +02:00
parent e3308dbf80
commit baf46a36d4

View file

@ -4,6 +4,7 @@
(:use :common-lisp) (:use :common-lisp)
(:local-nicknames (:actor :scopes/core/actor) (:local-nicknames (:actor :scopes/core/actor)
(:csys :scopes/csys) (:csys :scopes/csys)
(:index :scopes/util/index)
(:message :scopes/core/message) (:message :scopes/core/message)
(:shape :scopes/shape)) (:shape :scopes/shape))
(:export #:actions (:export #:actions
@ -35,7 +36,17 @@
;;;; helpers ;;;; helpers
(defun register-cell (reg addr cell)) (defun register-cell (reg addr cell)
(destructuring-bind (cat key) addr
(let ((idx (getf cat reg)))
(unless idx
(setf idx (index:create))
(setf (getf cat reg) idx))
(index:put idx key cell))))
(defun find-cells (reg addr)) (defun find-cells (reg addr)
(destructuring-bind (cat key) addr
(let ((idx (getf cat reg)))
(when idx
(index:query idx key)))))