[TYPES] Declarative vs imperative

Robert Harper rwh at cs.cmu.edu
Fri Apr 19 14:22:47 EDT 2013


Happy to liven up the types list, which has turned into billboard of late :).

I am referring to the term "declarative programming language", and should have been more precise in saying that.  It's died down now, mostly, but for a while there was an attempt to equate logic programming languages with functional programming languages under this term.  If one wishes to use "declarative" as description of a denotational semantics, that's fine, but I would point out that even Prolog can only be understood fully in operational terms, e.g. the "cut" operator !, which controls the proof search procedure.


On Apr 19, 2013, at 3:30 AM, Uday S Reddy wrote:

> [ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]
> 
> Vijay Saraswat writes:
> 
>> Declarative means a heck of a lot. (Though I do agree that distinctions 
>> between function and logic programming are probably not that significant 
>> conceptually.)
> 
> Indeed, "declarative" means a lot.  But, "declarative programming language"
> doesn't.  All programming languages have a "declarative interpretation" and
> a "procedural interpretation" (to use terms invented in the logic
> programming community).  If somebody claims that some language is not
> "declarative", it just means that they never thought about its declarative
> interpretation, not that it doesn't exist.  Ignorance is peddled as a fact
> of reality.
> 
> Cheers,
> Uday



More information about the Types-list mailing list