In the next couple of months, I'll be ready to add a small library of modules which are useful for creating and managing a persistent and evolving data model, and the dynamics of the interaction between objects in that model. It's alpha-functional now but it needs cleanup and completeness.
The library is tightly integrated but may be useful to many applications, either as an embedded solution or as the core engine of a program. I've considered its use in MUDs, AI bots, and self-directed data mining agents, but have not yet implemented any of these on this perl version. Once the library is implemented, I'll start looking for people interested in exploring those directions and seed the projects with proofs of concept. I've chosen the word 'Antic' to refer to this library. (The word 'antic' refers to extravagant behaviors and actions, which this library models.) Antic may belong under an established subtree (foo::Antic::*), but I think it may belong at the top level due to its wide applicability to different kinds of programs. The central four classes, OOP style, are named: Antic::Item - a model of an independent interactive entity Antic::Store - manage a set of items (extensions offer persistence) Antic::Action - a model of a single element of behavior or action Antic::Engine - process and distribute observed actions and reactions As per the PAUSE guidelines, I'm looking for guidance on whether this should not be a top-level library, and if not, how or why. I'll then proceed to register the 'Antic' namespace. -- [ e d @ h a l l e y . c c ]