menu_book Course Curriculum (Common Lisp) expand_more
copy-structure
Learn copy-structure in Common Lisp through a focused explanation, a dedicated construct-specific example, an engineering boundary, and a mastery check.
copy-structure is an atomic Common Lisp topic inside Data Structures. This lesson focuses on how the copy-structure construct is written, what it changes, and when it is the right tool.
Trace the example line by line. Identify the exact syntax for copy-structure, the input state before it runs, and the resulting value, control flow, database state, hardware behavior, or runtime effect afterward. Neighboring lessons use different constructs rather than renamed copies of this one.
Topic-specific example
(defstruct config host port)
(let* ((a (make-config :host "a" :port 80)) (b (copy-structure a))) (setf (config-port b) 443) b)
For copy-structure, test the boundary that belongs to this exact feature rather than a generic failure case. Check invalid or empty input, NULL/unknown state, numeric limits, transaction or exception behavior, synthesis/runtime constraints, ownership/permission rules, or backtracking/control-flow effects where they apply.