[Haskell-cafe] Wikipedia on first-class object

jerzy.karczmarczuk at info.unicaen.fr jerzy.karczmarczuk at info.unicaen.fr
Sun Jan 6 17:28:32 EST 2008


Derek Elkins writes: 

> Jonathan Cast wrote:

>> I find the only  
>> similarity between Haskell and Prolog to be that neither is imperative.
> 
> Indeed, you've discovered it.  The definition of "declarative" is often
> "not imperative." 

I disagree. Practically. (I won't discuss doctrinal matter nor linguistic
hairsplitting). 

The relational syntax of Prolog is more "universal" than the functional
notation, since you have logic variables and logical-non-determinism, and
 - thus - the possibility of making predicates where the roles of input and
output parameters are not pre-assigned, - 

 - but there is a *strong* (meaning important) functional layer within,
and plenty of Prolog algorithms are expressed similarly in Lisp or in
Haskell. 

Many non-deterministic ones have natural translation into the List monad.
Some "circular" definitions using laziness are related to ones with
non-instantiated logical variables. 

If you don't want to see similarities, you won't.  But I assure you that
I have profited enormously from tha *affinities* between functional and
logic approaches, and you won't convince me that "declarative" is without
substance. 

Jerzy Karczmarczuk 




More information about the Haskell-Cafe mailing list