This is a static analyzer, written in Scheme, which can check if given Scheme procedures are total (always terminate, on any input) by checking that they are specified primitive-recursively. What's more, it is written almost entirely in a primitive-recursive style, so it can check itself!
Documentation
Implementations
-
TPiS (Scheme), in Scheme
To run this implementation, you need:
Download
Development
Github: catseye/TPiS
Bitbucket: catseye/tpis
Issue tracker: on github