pantagruel thoughts: [Thought] ⇒ Specification.Pantagruel is a language for writing system specifications.
It’s a computer language, but not as you might think of it.
eval spec = null.The effects of evaluating a specification are nil—Pantagruel has no execution semantics.
However, Pantagruel specifications can be checked to ensure that certain conditions have been met.
(∀ s <: invoked-symbols spec ⇒For instance, that you’ve defined all your terms by the end of your document.
first-invoked-in-head? symbol: String, spec: Specification ⇒ Bool.This allows a structured form of description where terms can be explained in gradually greater detail.
invoked-symbols spec: Specification ⇒ {String}.
bound-as-of? symbol: String, position: Nat ⇒ Bool.
type-checks? expr: Expression ⇒ Bool.Specifications can also be type-checked to ensure that your logic is consistent.