Currently the Interpreter is somewhat hacky in its connections to other modules. Cleanup here consists of unifying the error types coming from various places (e.g. ParseError, InterpretError, maybe RewriteError?) and also correcting the Interpreter to use an "environment" of variable assignments (plus the Reader monad) when interpreting formulas. It might also be nice to be able to "uninterpret" a formula back into an AST so that we could then pass that back into a different logic system
Currently the
Interpreter
is somewhat hacky in its connections to other modules. Cleanup here consists of unifying the error types coming from various places (e.g.ParseError
,InterpretError
, maybeRewriteError
?) and also correcting theInterpreter
to use an "environment" of variable assignments (plus theReader
monad) when interpreting formulas. It might also be nice to be able to "uninterpret" a formula back into an AST so that we could then pass that back into a different logic system