This is the mw-equiv Reference Manual, version 0.1.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:11:25 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
mw-equiv
Extensible object equivalence protocol
Michael Weber <michaelw+equiv@foldr.org>
Michael Weber <michaelw+equiv@foldr.org>
BSD-like
Extensible object equivalence protocol,
based on <http://home.pipeline.com/~hbaker1/ObjectIdentity.html>.
0.1.2
package.lisp
(file).
equiv.lisp
(file).
readme
(file).
authors
(file).
licence
(file).
changelog
(file).
doc
(module).
Modules are listed depth-first from the system components tree.
mw-equiv/doc
changelog
(file).
mw-equiv
(system).
index.html
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
mw-equiv/equiv.lisp
package.lisp
(file).
mw-equiv
(system).
object-constituents
(generic function).
object-frozenp
(generic function).
object-sequence=
(function).
object-vector=
(function).
object=
(function).
Packages are listed by definition order.
mw-equiv
equiv
common-lisp
.
object-constituents
(generic function).
object-frozenp
(generic function).
object-sequence=
(function).
object-vector=
(function).
object=
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Checks whether sequences XS and YS are element-wise equivalent, by means of OBJECT=, and of the same length.
Checks whether vectors XS and YS are element-wise equivalent,
by means of OBJECT=, and of the same length.
Use OBJECT-SEQUENCE= instead.
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>
Returns list of accessors used to determine equivalence of objects of type TYPE.
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.
cons
)) ¶string
)) ¶vector
)) ¶pathname
)) ¶number
)) ¶character
)) ¶Jump to: | F G M O |
---|
Jump to: | F G M O |
---|
Jump to: | A C D E F I L M P R S |
---|
Jump to: | A C D E F I L M P R S |
---|