Greets,
I believe that we need to separate Clownfish and CFC into different
directories and build them as distinct CPAN/etc modules.
* `Clownfish::CFC` is a compiler written in C. It has no prerequisites
aside from the host language.
* `Clownfish` is the Clownfish core (Hash, CharBuf, VTable, Method, etc.).
It depends on `Clownfish::CFC`.
I've prepared a branch on Github that illustrates the layout:
https://github.com/rectang/lucy/tree/cfish_core/clownfish
* All content in $REPOS/clownfish/ moves down one directory into
$REPOS/clownfish/cfc/. (Alternately, it could move sideways into
$REPOS/cfc/.)
* The new directories $REPOS/clownfish/core and $REPOS/clownfish/perl
consist of selected content extracted and adapted from $REPOS/core/ and
$REPOS/perl/.
There's plenty more work to do -- such as duping test files -- but what's
there now should be enough to serve as a proof-of-concept.
The plan here is to copy the Clownfish core, work on it until it builds on its
own, then integrate it into the Lucy core and once that's complete, delete the
originals from the Lucy core.
There's not much that's new here except for the disruption of moving CFC's
files around. If we were already on Git I would have just committed these
changes into a feature branch within our own repository, but Github will do
for now.
PS: I'm going to try a Github pull request for this feature branch as an
experiment. I think the notification will go to [email protected] and
then we'll set up forwarding.
Marvin Humphrey