Basic constructor macro for path-scope structures.
(make-path-scope [:subpath <subpath>] [:namespace <namespace>])
This is the usual way to construct path-scope structures. It simply conses together a structure with the specified fields.
This macro generates a new path-scope structure from scratch. See also change-path-scope, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-path-scope (&rest args) (std::make-aggregate 'path-scope args '((:subpath) (:namespace)) 'make-path-scope nil))
Function:
(defun path-scope (subpath namespace) (declare (xargs :guard (and (path-p subpath) (name-p namespace)))) (declare (xargs :guard t)) (let ((__function__ 'path-scope)) (declare (ignorable __function__)) (b* ((subpath (mbe :logic (path-fix subpath) :exec subpath)) (namespace (mbe :logic (name-fix namespace) :exec namespace))) (cons namespace subpath))))