This repository is a translation from Common Lisp of the truth maintenance systems and other tools from Forbus and de Kleer's Building Problem Solvers into both Scala and Haskell.
The current version includes working versions of the justification- and assumption-based truth maintenance systems (JTMS and ATMS) in both languages. The Haskell translation omits the two top-level function of the original system, but otherwise both translations include all of the original functionality of these two TMSes. There is a partial translation of the rule engine wrapper for these TMSes in Scala.
To contribute, submit pull requests to one of the three branches
atms
(Scala), jtms
(Scala) or haskell
(both JTMS and ATMS), or
start a new branch for one of the other BPS tools, at
its repository.