Ramarren / cells

Fork of http://common-lisp.net/project/cells/

This URL has Read+Write access

cells /
name age message
file .cvsignore Wed May 21 03:47:41 -0700 2008 changed cvsignore [phildebrandt]
file README.txt Fri May 19 23:32:19 -0700 2006 A slow tedious transition to LLGPL [ktilton]
directory Use Cases/ Mon Sep 26 08:35:57 -0700 2005 Use #+(or) to reliably comment out forms [ktilton]
file cell-types.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file cells-manifesto.txt Mon Jun 16 05:38:03 -0700 2008 nothing special [ktilton]
file cells-store.lisp Thu May 15 09:06:29 -0700 2008 added store-items to get an (a)list of all items [phildebrandt]
directory cells-test/ Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file cells.asd Mon Jun 29 22:41:16 -0700 2009 Add ccl to cells reader conditional, name chang... [Ramarren]
file cells.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file cells.lpr Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file constructors.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file defmodel.lisp Tue Jun 30 07:53:58 -0700 2009 Ensure generic functions even earlier to shut u... [Ramarren]
file defpackage.lisp Sun Jan 03 23:12:55 -0800 2010 Remove symbols from export list which were not ... [Ramarren]
directory doc/ Fri Nov 30 14:52:36 -0800 2007 *** empty log message *** [ktilton]
file family-values.lisp Sat Nov 04 12:52:01 -0800 2006 md-value -> value [ktilton]
file family.lisp Thu May 21 04:30:52 -0700 2009 Check if relevant slots are bound when printing... [Ramarren]
file fm-utilities.lisp Sun Oct 26 06:21:07 -0700 2008 Remove use excl package, fix mop::, some whites... [Ramarren]
directory gui-geometry/ Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file initialize.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file integrity.lisp Tue Feb 03 05:37:36 -0800 2009 Change name of constant to avoid SBCL warning [Ramarren]
file link.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file md-slot-value.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file md-utilities.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file model-object.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file propagate.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
file slot-utilities.lisp Sun Jan 28 22:43:48 -0800 2007 Some interesting changes [ktilton]
file synapse-types.lisp Mon Jan 28 20:29:52 -0800 2008 *** empty log message *** [ktilton]
file synapse.lisp Sat Mar 15 08:18:34 -0700 2008 Mostly differentiating new *depender* from CAR ... [ktilton]
file test-cc.lisp Sun Oct 12 14:22:16 -0700 2008 *** empty log message *** [ktilton]
file test-cycle.lisp Fri Dec 09 10:59:33 -0800 2005 Add missing test files [ktilton]
file test-ephemeral.lisp Fri Dec 09 10:59:33 -0800 2005 Add missing test files [ktilton]
file test-propagation.lisp Mon Jun 16 05:38:03 -0700 2008 nothing special [ktilton]
file test-synapse.lisp Fri Nov 30 08:51:18 -0800 2007 *** empty log message *** [ktilton]
file test.lisp Sat Nov 04 12:52:01 -0800 2006 md-value -> value [ktilton]
file trc-eko.lisp Sat Oct 11 18:21:07 -0700 2008 Just trying to get a patch in for record-caller [ktilton]
directory tutorial/ Tue Jun 20 07:16:44 -0700 2006 *** empty log message *** [ktilton]
file utils-kt.asd Mon Jun 29 22:41:34 -0700 2009 Add ccl to cells reader conditional, name chang... [Ramarren]
directory utils-kt/ Wed Jun 24 23:01:22 -0700 2009 Add symbols to defpackage export list to avoid ... [Ramarren]
file variables.lisp Sun Jan 28 22:43:48 -0800 2007 Some interesting changes [ktilton]
README.txt
-*- text -*-

***** About Cells *****

(Installation instructions follow)

Cells is a mature, stable extension to CLOS that allows you to create
classes, the instances of which have slots whose values are determined
by a formula. Think of the slots as cells in a spreadsheet (get it?),
and you've got the right idea. You can use any arbitrary Common Lisp
expression to specify the value of a cell. The Cells system takes care
of tracking dependencies among cells, and propagating values. It is
distributed under an MIT-style license.

Documentation/support is in the form of:

   the cells-devel mailing list (users and developers both welcome)
   .\docs\01-cell-basics.lisp
   .\docs\motor-control.lisp ;; actually Bill Clementson's blog entry
   extensive examples in the Cells-test regression test suite 
   the companion Celtk module, which happens also to provide a substantial and 
        growing portable, native Common Lisp GUI. 

The above examples have all been tested against the current release of Cells.
Now in .\doc is cells-overview.pdf. That is pretty rough and obsolete in re the
code, but some of it might be enlightening.

Cells is written in portable ANSI Common Lisp.  It makes very
light use of the introspective portions of the MOP, and contains a few
workarounds for shortcomings in common implementations. 

Cells is known to currently work on the following Lisp implementations:

  * Allegro
  * SBCL
  * CLISP
  * LispWorks
  * OpenMCL

Partially supported are:

  * CMUCL
  * Corman Lisp
  * MCL

One of the Cells tests fails with CMUCL.  This appears to be caused by
a bug in CMUCL's  CLOS implementation, but has not been investigated in
great depth.

Cells is believed to work with Corman CL, but has not been recently
tested.  In the past, MCL was supported, but a it does not currently
pass the test suite.  Ressurecting full support for any of these
implementations should be easy.

Porting Cells to an unsupported but ANSI-conforming Lisp
implementation should be trivial: mostly a matter of determining the
package where the MOP lives.  In reality, however, you might have to
find workarounds for bugs in ANSI compliance.

***** Installation *****

[ Cells follows the usual convention for asdf and asdf-installable
  packages.  If you know what that means, that's all you need to
  know. ]

Installation is trivial for asdf-install users:

  (asdf-install:install :cells)

Users without asdf-install will need to download the distribution from
common-lisp.net.  If your implementation does not come with ASDF,
please complain to the implementor, then load the asdf.lisp file
included in the Cells distribution.

Unpack the distribution where you will.

Unix users: If you do not already have an asdf central registry,
create a directory calld asdf-registry under your home directory and
push this onto asdf:*central-registry*.  Create symlinks there to the
cells.asd and cells-test.asd files in the distribution.  Alternately,
follow the instructions for Windows users.

Windows and Classic Mac users: Push the directory where you unpacked
the Cells distribution onto asdf:*central-registry*.

You can now load Cells in the usual manner for asdf.

SLIME:

  ,load-system cells

SBCL:

  (require :cells)

Other systems:

  (asdf:oos 'asdf:load-op :cells)

You may wish to run the test suite.  To do so, use asdf to load the
:cells-test system.