Formalizing and Implementing Types in MSVL

This paper investigates techniques for formalizing and implementing types in the temporal logic programming language MSVL, which is an executable subset of Projection Temporal Logic. To this end, the data domain of MSVL is extended to include typed values, and then typed functions and predicates concerning the extended data domain are defined. Based on these definitions, the statement for type declaration of program variables is formalized. The implementation mechanisms of the type declaration statement in the MSVL interpreter are also discussed, which is based on the notion of normal form of MSVL programs. To illustrate how to program with types, an example of in-place reversing an integer list is given.