Hi Stefan, On Tue 13 Apr 2010 13:55, l...@gnu.org (Ludovic Courtès) writes:
> stefan <stefan.ta...@spray.se> writes: > >> I did a small try to extend guile to handle unification. The result is in >> >> http:///c-lambda.se/gp.tar.gz >> >> In there is an example of a unification solution of the Einstein riddle. >> The solution takes 150ms on my PC. Gnu prolog execute it in about 16ms. >> I'm using a c-extension linked in which is a fun play with the tagging >> system >> in guile (ducks!) > > I haven’t looked at the code but that sounds like an interesting and > useful project! Agreed! I looked briefly at the code, but this is one of my many ignorant areas. I would also suggest implementing this in Scheme, as a macro. That way you program as in prog.scm, but when it's expanded, it expands out to the exact thing you need to do the job. A macro extends the compiler with support for a mini-language -- something like prolog in your case. >> By the way. I can help out as well. My main interest now is in type theory >> but >> I start to dig into guile now and I would probably be able to help out if >> you >> like in a short time, as my knowledge matures. >> >> Are there any suitable tickets to close? Besides the points Ludovic mentioned, if you are interested you could try writing a type inferencer for tree-il. Do it as a weak map from tree-il to some type representation, then propagate down to the leaves and back. At least, that will work for many cases -- you might know a better implementation strategy. Have fun with Guile, Andy -- http://wingolog.org/