[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]
Nikhil writes, > a C program is a specification for a hundred different machine code > algorithms that manage memory, register allocation etc. According to Mark, > A C program is not a specification in any sense They obviously use the the same word, "specification," in different ways. Mark talks about formally specifying the computational problem to be solved (and so do I). Of course a C program is not a specification in this sense. Algebraic and differential equations are specifications, as well as pure LISP programs and ASP programs. Nikhil and Uday talk about specifying a class of computational procedures that differ from each other by low-level details such as register allocation. That usage indeed makes the notions of specification and implementation relative. What is a specification will depend then on how large the classes are, what level of detail we are willing to disregard. --Vladimir
