This is the area for project type definitions.  Each file should add a
specific type of project with define-project-type and contain any
necessary support functions.  The project types need not be language
specific, and may not relate to any programming language -- there
could be both "perl" and "catalyst" project types, for example.

Right now, to use these, you should add "eproject/lang" to your
load-path, and then require each project type that you desire:

   (add-to-list 'load-path "~/elisp/eproject/lang")
   (require 'eproject-perl)

In the future, we'll enable them all automatically (and ensure that
this doesn't break your workflow).

Please keep the following in mind as you develop your own project
types:

 * License your code with the same license as Emacs, the GPLv3.

 * Play nicely with others.  Choose a selector function that won't
   activate your project type unless it's the best.  That means you
   can identify a Perl project with Makefile.PL in the root directory,
   but you can't identify a C project by looking for Makefile in the
   root directory.  Too many other things use Makefiles.

 * Namespace your functions with eproject-<lang>-<function> or
   similar.  Try to keep functions and commands to a minimum; your
   code should provide information, not perform any actions.  If you
   want to perform actions, add a file to the contrib section of
   eproject.

 * Make all relevant tunable parameters defcustoms with documentation.
   The goal is for non-Lisp-programmers to be able to use your code.

The eproject community thanks you for your contribution!  Please do
not hesitate to ask for direct commit access to the main repository.
It will be granted.
