Changes for version 0.26 - 2010-03-13
- Split the X::Getopt parts of Hailo into Hailo::Command. This way the speed / memory penalty of loading all the command-line related modules is only applicable if running the command-line interface. using Hailo takes 1MB less memory now and loads a total of 56 modules instead of 74.
- Due to the split it was possible to rename the `brain_resource' attribute to `brain'. The former is still provided for backwards compatibility.
- A lot of miscellaneous cleanups in the code made possible by splitting the core of Hailo from the command line UI.
- DEMOLISH was broken. it would build storage objects during global destruction if they didn't exist.
- Add --examples switch to be used as --help --examples, examples are now not part of --help by default since they took up most of the terminal & obscured the option help output.
- A lot has been changed in the test suite. Below is a partial summary:
- Test the ->run method in Hailo::Command completely. Previously only a subset of its functionality was tested. The only thing that isn't tested completely is the invocation of Hailo::UI::ReadLine via ->run.
- Completely test the ->train and ->learn methods and make ->learn() die on unknown input like HashRefs.
- Test the --help output.
Modules
A pluggable Markov engine analogous to MegaHAL
Class for the hailo command-line interface to Hailo
A role which adds an 'arguments' attribute
A role representing a Hailo storage backend
A role representing a Hailo tokenizer
A role representing a Hailo UI
A base class for Hailo DBD storage backends
A storage backend for Hailo using DBD::Pg
A storage backend for Hailo using DBD::SQLite
A storage backend for Hailo using DBD::mysql
A character tokenizer for Hailo
A tokenizer for Hailo which splits on whitespace, mostly.
A UI for Hailo using Term::ReadLine