A RamPlan is itself designed to be suitable for storage. The information in a RamPlan might be largely derived from data declarations of traditional strongly typed languages. An external form of the language would be needed but the focus here is on the internal, binary format. One goal of RamPlan is to support type safety proofs for programs similar to what Java byte code verifiers do for interpreted Java programs. Such compilers might be modified to produce parts of the RamPlan and accompany the compiled code with the corresponding plans.
Type safety is normally a necessary step towards proving stronger things about programs.
I have spent a number of months working on the design of RamPlan and important problems remain. This note is to encourage others to add their ideas. RamPlan is a language to be dealt with by programs much as machine language is produced mainly by programs and read by computers. RamPlan expresses a number of facts about the state of the memory of a running program. In this regard first order predicate calculus would subsume RamPlan and RamPlan will always be incomplete in this regard, unless perhaps first order predicate calculus is added as a wart.