Kai Stevenson Canonical project is at git.aberrantflux.xyz/operetta.git Operetta is a propositional logic interpreter and solver. Formal logic is not so different from a programming language. This project was an opportunity for me to refine the techniques developed in Precedent. (see git.aberrantflux.xyz/precedent.git) This time, I implemented a lexer loosely inspired by the one used in NoExcess, except for the fact that it is stateless. In fact, nearly all of Operetta is stateless--my line reader being the exception. Operetta does not use any external libraries--no ncurses.