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 -~----------~----~----~----~------~----~------~--~---