Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the mw-equiv Reference Manual, version 0.1.2, generated automatically by Declt version 3.0 "Montgomery Scott" on Tue Dec 22 14:28:52 2020 GMT+0.
• Introduction | What mw-equiv is all about | |
• Systems | The systems documentation | |
• Modules | The modules documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
-*- outline -*- MW-EQUIV --- An Extensible Object Equivalence for Common Lisp * Build Presuming ASDF is available: (asdf:oos 'asdf:compile-op :mw-equiv) (asdf:oos 'asdf:load-op :mw-equiv) Depending on the Lisp being used, a (require :mw-equiv) might do as well. * Documentation See directory doc/ * Licence See file LICENCE. * Authors See file AUTHORS.
Next: Modules, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The mw-equiv system |
Michael Weber <michaelw+equiv@foldr.org>
Michael Weber <michaelw+equiv@foldr.org>
BSD-like
Extensible object equivalence protocol
Extensible object equivalence protocol,
based on <http://home.pipeline.com/~hbaker1/ObjectIdentity.html>.
0.1.2
mw-equiv.asd (file)
Modules are listed depth-first from the system components tree.
• The mw-equiv/doc module |
changelog (file)
mw-equiv (system)
doc/
index.html (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files | ||
• HTML files | ||
• Static files |
Next: HTML files, Previous: Files, Up: Files [Contents][Index]
• The mw-equiv.asd file | ||
• The mw-equiv/package.lisp file | ||
• The mw-equiv/equiv.lisp file |
Next: The mw-equiv/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
mw-equiv.asd
mw-equiv (system)
Next: The mw-equiv/equiv․lisp file, Previous: The mw-equiv․asd file, Up: Lisp files [Contents][Index]
Previous: The mw-equiv/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
mw-equiv (system)
equiv.lisp
Next: Static files, Previous: Lisp files, Up: Files [Contents][Index]
• The mw-equiv/doc/index.html file |
Previous: HTML files, Up: HTML files [Contents][Index]
doc (module)
doc/index.html
Previous: HTML files, Up: Files [Contents][Index]
• The mw-equiv/readme file | ||
• The mw-equiv/authors file | ||
• The mw-equiv/licence file | ||
• The mw-equiv/changelog file |
Next: The mw-equiv/authors file, Previous: Static files, Up: Static files [Contents][Index]
equiv.lisp (file)
mw-equiv (system)
README
Next: The mw-equiv/licence file, Previous: The mw-equiv/readme file, Up: Static files [Contents][Index]
Next: The mw-equiv/changelog file, Previous: The mw-equiv/authors file, Up: Static files [Contents][Index]
Previous: The mw-equiv/licence file, Up: Static files [Contents][Index]
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The mw-equiv package |
package.lisp (file)
equiv
common-lisp
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions |
Previous: Definitions, Up: Definitions [Contents][Index]
• Exported functions | ||
• Exported generic functions |
Next: Exported generic functions, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
Checks whether sequences XS and YS are element-wise equivalent, by means of OBJECT=, and of the same length.
equiv.lisp (file)
Checks whether vectors XS and YS are element-wise equivalent,
by means of OBJECT=, and of the same length.
Use OBJECT-SEQUENCE= instead.
equiv.lisp (file)
Returns true if X and Y are (observationally) equivalent.
Hence, OBJECT= is an equivalence relation:
1. (object= x x)
2. (equal (object= x y frozenp) (object= y x frozenp))
3. (implies (and (object= x y frozenp) (object= y z frozenp))
(object= x z frozenp))
Frozen objects (i.e., objects which are promised not to mutate)
are compared by recursing into their constituents, as specified by
OBJECT-CONSTITUENTS. Mutable (i.e., not frozen) objects are
compared with the pointer equality EQ.
FROZENP can be used to override the defaults for X and Y given by
OBJECT-FROZENP. It is a promise that none of the objects X and Y
are referring to with their constituents, or **any of the
constituents’ constituents** are mutated from the time of the
call to OBJECT= onwards.
If one lies with FROZENP, OBJECT-FROZENP, or OBJECT-CONSTITUENTS,
all bets are off and the result of OBJECT= is meaningless.
OBJECT= diverges if both X and Y are circular data structures.
See also: <http://home.pipeline.com/~hbaker1/ObjectIdentity.html>
equiv.lisp (file)
Previous: Exported functions, Up: Exported definitions [Contents][Index]
Returns list of accessors used to determine equivalence of objects of type TYPE.
equiv.lisp (file)
Indicates whether OBJECT is frozen. That is,
this function may return true only if OBJECT will not be mutated
in an observable way from the point of the call until the end of
its life time, otherwise false.
equiv.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F H L M S |
---|
Jump to: | F H L M S |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | F G M O |
---|
Jump to: | F G M O |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | M P S |
---|
Index Entry | Section | ||
---|---|---|---|
| |||
M | |||
mw-equiv : | The mw-equiv system | ||
mw-equiv : | The mw-equiv package | ||
| |||
P | |||
Package, mw-equiv : | The mw-equiv package | ||
| |||
S | |||
System, mw-equiv : | The mw-equiv system | ||
|
Jump to: | M P S |
---|