
I would like to announce a small library hswip. It is an analogue of pyswip [1] python library in haskell. Hswip allows to embed swi-prolog [2] interpreter into your haskell applications in a convenient way. Let't look at an example: main = do prologInit ["-q","-nosignals"] prologCall "asserta(a(b,c))." prologCall "asserta(parent(pam, bob))." prologCall "asserta(parent(tom, bob))." prologCall "asserta(parent(tom, liz))." prologCall "asserta(parent(bob, ann))." prologCall "asserta(parent(bob, pat))." prologCall "asserta(parent(pat, jim))." res <- prologCall "parent(X,Y)." print res Output: [[("X","pat"),("Y","jim")],[("X","bob"),("Y","pat")],[("X","bob"),("Y","ann")],[("X","tom"),("Y","liz")],[("X","tom"),("Y","bob")],[("X","pam"),("Y","bob")]] The library still has alpha quality and there are many things missing including exception handling and BSD license. Any feedback is welcome! -Evgeny Tarasov [1] http://code.google.com/p/pyswip/ [2] http://www.swi-prolog.org/ [3] http://hackage.haskell.org/package/hswip-0.3