The clos-diff Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The clos-diff Reference Manual

This is the clos-diff Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 04:15:28 2022 GMT+0.

Table of Contents


1 Introduction

clos-diff is a GPL licensed library which will be able to create and
apply diffs of CLOS objects in a compact representation that will not
use too much bandwidth or disk space. The library also preforms the
diffs recursively, so that (theoretically) infinite layers of objects
can be diffed. The only dependency is closer-mop.

The API is simple, and documented below:

function: clos-diff:diff (old new &key (test #'equalp))
  This function will create a diff that represents the modification
  that need to be applied to object old to create the object new. The
  test parameter will control the test used for equality. As a special
  case is the old parameter is nil, a diff from an object with no
  bound slots will be created.

function: clos-diff:apply-diff (diff &optional object)
  This function will apply the diff given in the parameter diff to the
  object contained in object. If object is nil, a fresh object of the
  appropriate type (with all slots unbound) will be created, and the
  diff will be applied to that (See the documentation for diff for
  more information).

This project is hosted on github. Submit bug reports there. Also, you
may contact the author at krzysdrewniak AT gmail DOT com .


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 clos-diff

A library for creating diffs of CLOS objects

Author

Krzysztof Drewniak <krzysdrewniak@gmail.com>

License

GNU GPL version 3 or any later version

Version

1.0

Dependency

closer-mop (system).

Source

clos-diff.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.1 clos-diff/clos-diff.asd

Source

clos-diff.asd.

Parent Component

clos-diff (system).

ASDF Systems

clos-diff.

Packages

clos-diff-system.


3.1.2 clos-diff/package.lisp

Source

clos-diff.asd.

Parent Component

clos-diff (system).

Packages

clos-diff.


3.1.3 clos-diff/diff.lisp

Dependency

package.lisp (file).

Source

clos-diff.asd.

Parent Component

clos-diff (system).

Public Interface

diff (function).

Internals

Previous: , Up: Lisp   [Contents][Index]

3.1.4 clos-diff/apply.lisp

Dependency

diff.lisp (file).

Source

clos-diff.asd.

Parent Component

clos-diff (system).

Public Interface

apply-diff (function).

Internals

eval-diff (function).


4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 clos-diff

Source

package.lisp.

Nickname

cld

Use List

common-lisp.

Public Interface
Internals

Previous: , Up: Packages   [Contents][Index]

4.2 clos-diff-system

Source

clos-diff.asd.

Use List
  • asdf/interface.
  • common-lisp.

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


5.1.1 Ordinary functions

Function: apply-diff (diff &optional obj)
Package

clos-diff.

Source

apply.lisp.

Function: diff (old new &key test circ-list)
Package

clos-diff.

Source

diff.lisp.


5.2 Internals


Previous: , Up: Internals   [Contents][Index]

5.2.1 Ordinary functions

Function: diff-nil (obj &optional type circ-list)
Package

clos-diff.

Source

diff.lisp.

Function: eval-diff (obj phrase)
Package

clos-diff.

Source

apply.lisp.

Function: get-slots (object)
Package

clos-diff.

Source

diff.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables