Notes for Developers

Help Wanted

CompLearn is growing in power and popularity every day. There are now many interesting development paths that could use help from the community.

If you are interested in helping with the complearn project then email your area of interest to Rudi at cilibrar@gmail.com . You must already know C or Ruby to help with this project.

Mercurial Repository

CompLearn is developed using the Mercurial revision control system. There are two lists of CompLearn related repositories: One is hosted at hg.cilibrar.com. The other is on Debian Alioth. You may review the "working" code using the following command (you must install Mercurial first before proceeding):

$ hg clone http://hg.cilibrar.com/complearn-core

You may also check out the other CompLearn repositories with the same command, but replacing "complearn-core" with the repository name.

Packaging

CompLearn was packaged using Autoconf and compile scripts are generated through Automake.

Gang of Four's Design Patterns

CompLearn was written using several object-oriented design patterns as recognized by the Gang of Four in their classic publication Design Patterns: Elements of Reusable Object-Oriented Software. Singletons, Factory Methods, and Iterators are just a handful of such solutions implemented in CompLearn. The Adapter pattern, in particular, as seen in the classes CompAdaptor and TreeAdaptor, were employed to enhance flexibility and expandability.

Need more info on Design Patterns? Try these links:

Naming Conventions

Several styles are used in CompLearn's implementation.

Commenting

CompLearn comments are compatible with Doxygen, the auto-documentation system. For more information on how to document CompLearn, please see Documenting the code at Doxygen's homepage.

License

CompLearn is released under the Berkeley Software Distribution (BSD) license.