This is the metacopy Reference Manual, version 0.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:06:07 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
metacopy
Flexible Common Lisp shallow/deep copy mechanism.
Gary Warren King <gwking@metabang.com>
Originally by BBN, modified by EKSL and by Gary Warren King <gwking@metabang.com>
MIT Style License
0.2
moptilities
(system).
Modules are listed depth-first from the system components tree.
metacopy/dev
metacopy
(system).
notes.text
(file).
package.lisp
(file).
contextl-integration.lisp
(file).
api.lisp
(file).
copy.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
metacopy/metacopy.asd
metacopy/dev/package.lisp
metacopy/dev/contextl-integration.lisp
metacopy/dev/api.lisp
metacopy/dev/copy.lisp
metacopy/metacopy.asd
metacopy
(system).
*load-with-contextl*
(special variable).
metacopy-package
(function).
metacopy-test-package
(function).
metacopy/dev/contextl-integration.lisp
package.lisp
(file).
dev
(module).
define-copy-method
(macro).
define-copy-function
(macro).
metacopy/dev/api.lisp
contextl-integration.lisp
(file).
package.lisp
(file).
dev
(module).
copy-inner
(generic function).
copy-inner-class
(generic function).
copy-one
(generic function).
copy-self
(generic function).
copy-slots-slots-to-initialize
(generic function).
copy-thing
(generic function).
copy-final
(generic function).
copy-final-class
(generic function).
metacopy/dev/copy.lisp
api.lisp
(file).
package.lisp
(file).
dev
(module).
*copy-assume-no-circular-lists*
(special variable).
copy-inner
(method).
copy-inner
(method).
copy-inner
(method).
copy-inner
(method).
copy-inner
(method).
copy-inner
(method).
copy-inner-class
(method).
copy-one
(method).
copy-one
(method).
copy-one
(method).
copy-one
(method).
copy-one
(method).
copy-one
(method).
copy-self
(method).
copy-self
(method).
copy-self
(method).
copy-self
(method).
copy-self
(method).
copy-self
(method).
copy-thing
(method).
copy-thing
(method).
copy-thing
(method).
copy-thing
(method).
copy-thing
(method).
copyable-mixin
(class).
defcopy-methods
(macro).
duplicator-methods
(macro).
instance-made-for-copying-p
(method).
with-slot-copying
(macro).
*duplicate-class-forms-copy-forms?*
(special variable).
*instance-for-copy?*
(special variable).
*potential-duplicator-methods*
(special variable).
copy-final
(method).
copy-final
(method).
copy-final-class
(method).
copy-object
(function).
copy-set-slot-1
(function).
copy-slot-1
(function).
duplicate-class-forms-copy
(function).
duplicate-class-forms-final-duplicate
(function).
remove-duplicator-methods
(function).
Packages are listed by definition order.
metacopy-system
asdf/interface
.
common-lisp
.
*load-with-contextl*
(special variable).
metacopy-package
(function).
metacopy-test-package
(function).
metacopy
common-lisp
.
metabang.moptilities
.
metacopy-system
.
*copy-assume-no-circular-lists*
(special variable).
copy-inner
(generic function).
copy-inner-class
(generic function).
copy-one
(generic function).
copy-self
(generic function).
copy-slots-slots-to-initialize
(generic function).
copy-thing
(generic function).
copyable-mixin
(class).
defcopy-methods
(macro).
define-copy-method
(macro).
duplicator-methods
(macro).
instance-made-for-copying-p
(generic function).
with-slot-copying
(macro).
*duplicate-class-forms-copy-forms?*
(special variable).
*instance-for-copy?*
(special variable).
*potential-duplicator-methods*
(special variable).
copy-final
(generic function).
copy-final-class
(generic function).
copy-object
(function).
copy-set-slot-1
(function).
copy-slot-1
(function).
define-copy-function
(macro).
duplicate-class-forms-copy
(function).
duplicate-class-forms-final-duplicate
(function).
remove-duplicator-methods
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
This is t when loading with contextl. You can set this var at runtime to "switch" packages while working with slime (currently needs a pending slime patch).
Put a different face on duplicator-methods’s syntax.
A defmethod, without contextl.
This is the package in which the metacopy files are read in.
See metacopy-package.
copy the relevant portions of self into copy-object. ok if it calls copy on sub-objects.
Defined for each component class of an object with mixin COPYABLE-MIXIN.
It should setup its slots as appropriate.
This needs to be a seperate method (from COPY-INNER) because it has
to be done with a PROGN Method-Combination.
progn
.
:most-specific-last
copyable-mixin
) copy-list copy-htable) ¶returns a fullfledged copy of self, set-up and ready to go.
return a new, empty version of self
copyable-mixin
)) ¶Copy objects with aribtrarily complex substructure.
Objects are kept track of in a HashTable, so only one copy is made of each.
Things which are EQ in the original (i.e. objects, sublists, etc.) come out
EQ in the corresponding places in the copy.
provides method for doing copy that creates a copy on an object. each mixin should provide an copy-inner-class method to copy its slots appropriately.
A defgeneric, without contextl.
Last pass to make sure everything is in place.
defined for each component class of an object with mixin copyable-mixin.
it should setup its slots as appropriate.
this needs to be a seperate method (from copy-final) because it has
to be done with a progn method-combination.
progn
.
:most-specific-first
copyable-mixin
) copy) ¶Jump to: | C D F G I M R W |
---|
Jump to: | C D F G I M R W |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | A C D F I M N P S W |
---|
Jump to: | A C D F I M N P S W |
---|