Yes, I'm active. I have a PhD in CS. I'm specialized in rule-based declarative languages (in particular CHR,
http://dtai.cs.kuleuven.be/CHR/).
I checked the link but its still not very clear what CHR does or how it works - care to explain very briefly ?
You program by writing rules that rewrite a kind of "database" of "constraints". Say you have some graph, defined by an edge(X,Y) relation, where the arguments X and Y are node identifiers (e.g. numbers or any Prolog term, could be variables or lists or whatever). Now say you want to compute the transitive closure of the graph. All you need to write is a rule like this:
edge(A,B ), edge(B,C) ==> edge(A,C).
which will automatically be applied until a fixpoint is reached (if you have cycles in the graph you'll have to avoid an infinite loop though, but that can be done). E.g. if you have the input "edge(1,2), edge(2,3), edge(3,4), edge(3,5)" the above rule will have as output the input + "edge(1,3), edge(1,4), edge(1,5), edge(2,4), edge(2,5)".
Another example: say you want to generate prime numbers up to some number. First you generate all candidates:
upto(N) <=> N>1 | candidate(N), upto(N-1).
(this is how you do a simple loop in CHR; it will create "candidate(2), candidate(3), candidate(4), ..., candidate(N)" when the input is "upto(N)")
Then you filter out all non-primes, i.e. numbers that are a multiple of another number. The following rule does that:
candidate(A) \ candidate(B ) <=> B mod A =:= 0 | true.
e.g. with A=2 and B=4 you have 4 mod 2 equals 0 (4 is a multiple of 2) and candidate(B ) will be removed. After the above rule has been applied until exhaustion, only prime numbers will be left.
BTW, it is easy to get CHR on the Pandora: just install SWI-Prolog (www.swi-prolog.org), it is shipped as a package in any recent version of SWI-Prolog.