Goals: the Motivation of Procrastination
So far, I have:
- written a parser for my logic definition language;
- solved the problem I was having with polymorphism;
- designed, in the large, my data structures; and
- thought about name for the project.
- define a state monad (to model the saturation of a branch);
- define a backtracking monad (to model the branching of non-deterministic choices);
- find a way to compose them (perhaps by deriving a monad transformer);
- finalise the structure of the logic modules;
- write a realistic (perhaps even production) parser and code generator for the logics;
- learn to use hs-plugins to write dynamically loadable modules (and find a way to make logic modules dynamically loadable); and
- implement some representative test logics (propositional calculus, K, intuitionistic logic, something with transitive frames, etc).