Great,
This is how I try to divide the work.
There is one framework dual licensed under QiII and LPGL that is
the rewrite I've been doing and will live at github under the Shen
project.
Mainly the BoopCore directory.
Here the code transformer and the core pattern matching tool will be
placed.
My intention is to have maybe a non-qi like but general protocol to
cover
1. unification and backtracking - e.g. the base for qi-prolog
2. extensions to state-machines that takes parameters
3. Qi-Yacc like features
4. (Maybe) regexp matchers using already made regexp libriries (for
those that want need speed)
5. segmentation, both in unification (maybe) and as basic matching
6. type-checking suportative matching
7. support for multiple streams, e.g. you shoule be able to quckly
modify the code to take an array stream in stead
of a list stream and do it reasonable effective
8. support for more general destructions then [first rest] logic,
think structures for examples
Code transformation will be done by type sensitive code generation so
that when we can deduce type information.
this will be divided in a strict and "sloppy" mode, where strict is
(tc -) and sloppy is trying to use as much type information
as possible but might give up for sum constructs and issue a warning.
So this is the framework, now there will be another package, called
Shen or Qi, that will use this tool, add a reader and a writer
plus the actual Qi-Yacc, Qi-Prolog, define Sequents and so on and this
will be shen.
The current state is that there is a usable version at github. I have
not implemented all features above, but I wan't to make a first
version that does transformations to lisp/clojure/.. as well as
compiling to basic qi as it does right now before going further
so that you guy's can help testing and developing it.
Let me suggest that we try communicate via email when we are just a
few persons doing work, and if more people are interested
we try to make an email list.
/Regards
Stefan