[TYPES] Declarative vs imperative

Vladimir Lifschitz vl at cs.utexas.edu
Mon Apr 22 23:51:31 EDT 2013


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


More information about the Types-list mailing list