A convenient packaging of the xg-model-gf library is available now at

http://explorersguild.googlecode.com/files/xg-model-gf.zip

xg-model-gf provides a simple record scheme ("model") and an
implementation of CLOS-flavored generic functions for those of us who
prefer that style of polymorphism. model and gf are completely
independent of one another, but can be usefully combined; a gf domain
that implements dispatching on models is included.

Briefly,

model provides a means of defining the keys that may be expected on a
set of Map objects, and a function for creating Map objects that match
the specifications defined by a model. You can optionally restrict the
keys allowed in instances of a model, or the objects that may be used
as keys or values. You can optionally derive models from previously-
existing models, and combine two or more models to yield a new one
(provided they can be combined without violating their respective
restrictions).

gf implements CLOS-style generic functions plus user-definable
dispatch. A parameter called a gf domain defines the dispatch
algorithm used by generic functions. Example domains are supplied,
including one that dispatches on Java classes and the global Clojure
derive hierarchy, one that implements a simple form of predicate
dispatch with user-defined implication, and one that implements
dispatch on xg models.

This version fixes several bugs in earlier versions, but the code is
young and you should not expect it to be bug-free; bug reports are
gladly received. It adds a domain that considers the global Clojure
derive hierarchy in its dispatching, and a README that may make it
easier to use model and gf.

Besides that, the chief reason for this release is to make it easy for
those who are interested in it to get it: it's now packaged as a zip
archive, and is a featured download at http://code.google.com/p/explorersguild/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to