[m-rev.] Mail delivery broken at mercurylang.org
Mark Brown
mark at mercurylang.org
Tue Nov 11 13:13:01 AEDT 2025
Hi Volker,
Thanks for taking the time to respond.
On Sat, Nov 8, 2025 at 9:24 PM Volker Wysk <post at volker-wysk.de> wrote:
>
> > Can you explain that in concrete, objective terms? I'm not looking for
> > a testimonial.
>
> I'll try. I'm not sure what you mean by "testimonial". The most probable
> translation (which I could find in the dictionary at dict.leo.org) would be
> "Erfahrungsbericht", which translates to "case study" or "field report".
By "testimonial" I mean the sort of thing that is often found at the
bottom of landing pages, with logos or quotes from people using the
product. I'm looking for something to accompany the opening paragraph,
that gives a more objective assessment - something that we'd be
confident in backing up with evidence if asked.
There are plenty of times when I've been asked why I think Mercury is
good, particularly by people who consider OO-design to be good, and
who consider "declarative programming" to be an idealistic concept
that has worn a bit thin. I'd like to give such people a more
pragmatic answer.
>
> Logic programming is more universal than functional programming. This can be
> seen at the fact that functional programming can relatively easy been added
> to a logic language. Just transalte a function f(a,b,c) = x to a predicate
> f(a::in, b::in, c::in, x::out). In the opposite direction, it should be much
> harder.
I imagine that a typical Haskell programmer would point to the List
monad as an alternative to backtracking, and might mention laziness at
some point. One might also ask whether universality is even the
question, given that they are Turing complete languages.
Not that I disagree with you on the facts, that's not the point. I'm
just questioning what kind of argument should be made on the home
page.
>
> Logic is more fundamental than functions (or lambda calculus), in
> mathematics.
>
> Logic is closer to human thinking (or even to thinking in general). Or, at
> least to the logical part of human thinking.
That makes sense to me, insofar as logic is intended to be a model of
human reasoning. One might ask which logic, though. Classical? Does it
have to be Horn clauses? And is our audience trying to model human
thinking, or are they trying to model computation?
> You can transform your ideas to
> code more directly.
I agree with this, although I was framing it as compositionality. A
chunk of Mercury code looks like a complete definition of something,
as long as you keep in mind how the variables are quantified.
Furthermore, you can readily "slice" the code in your own mind while
reading it, to just consider the parts of a predicate that are
relevant to whatever question you have. In practice I have found this
to be a massive advantage in reading and understanding code, including
my own code.
>
> Therefore logic programming is more declarative than functional programming.
>
> I hope this is what you wanted me to tell.
>
> Cheers,
> Volker
> _______________________________________________
> reviews mailing list
> reviews at lists.mercurylang.org
> https://lists.mercurylang.org/listinfo/reviews
More information about the reviews
mailing list