
Peter Verswyvelen writes:
Jerzy wrote:
The relational syntax of Prolog is more "universal" than the functional notation, since you have logic variables and logical-non-determinism, and
Isn't this just because mathematically, a function *is* a relation, but not vice versa? A relation being just a subset of a Cartesian product of sets, while a function being a special kind of relation for which each element in the domain has exactly one image? So relations are inherently much more universal than functions, but they are not that practical to work with (for a computer and/or human?).
You are right. Yes, functions are subsets of relations, and the affinity between logical and functional programming is all but accidental. But relations ARE PRACTICAL! Prolog, Mercury, etc. use them. Leda, Life ... Combined paradigms are not so exotic.
Gee, I should not talk about math here, as you "category theory" guys know a thousand times more math than I do ;-)
On the contrary, you should. Tell what is interesting for you. Don't let hairsplitters monopolize the discussion of mathematical side of Haskell. I am sick seeing that 75% of true deep discussion turns around ... sorry for the swearword - ... bottom. Jerzy Karczmarczuk