Laurent PETIT wrote: > For 2., you could even consider, rather than manually doing the > conversion, write (in clojure of course, with the help of the xml > parsing tools already available) a AIML to clojure-AIML converter :-)
Most of the work will be about figuring out how to map the functional structure from an implementation in a small and specialized language to one in a large and general language - how do I express this or that idea? There are two parts to my prototype; there's a small one I call the "grammar", ~200 AIML categories which do all the algorithmic heavy lifting, making use of AIML specialties like conditional branching by recursively matching arbitrary variables, where you can just pass <srai><get name="foo"/></srai> to make magic happen - how can I translate this into Clojure? That's not going to be much code, but its likely to be very dense (there are eight years of learning in those 200 AIML categories). So I suspect it'll take me a while until I understand what I need, and I'll not have much code to show for it. And then there's the "lexicon", where the content, the words, are encoded as pseudo-objects. These are just files of simple AIML categories, doing mostly substitution and value returns. But lots of them, because AIML was never meant to have "objects", so a lot of boilerplate goes into simulating them. However, it worked, basically, but when the whole hootenanny was finally running with a 200 word lexicon, it became clear that the interpreter would blow the lid after 10-12 strokes. Again, translating the ideas will be the challenge; there's just not much code relative to the amount of ideas cristallized there, because AIML is so specialized on this, and the code was developed and optimized over the course of eight years. Once I "got" it, I expect the Clojure implementation to take a number of parameters from the programmer/writer and create the appropriate object automatically. But that's the vision - I've not even learned the basics yet. Dirk --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---