[m-dev.] Partially instantiated data structures

Zoltan Somogyi zoltan.somogyi at runbox.com
Sat Oct 6 03:59:08 AEST 2018



On Sat, 6 Oct 2018 03:51:30 +1000, Mark Brown <mark at mercurylang.org> wrote:

> Hi,
> 
> On Fri, Oct 5, 2018 at 11:18 PM Charlie McGee <c4cypher at gmail.com> wrote:
> > I get the impression that the reason that partial instantiation got
> > left by the wayside as a language feature is that, with the Mercury
> > approach, by the time the compiler is done with a predicate,
> > nothing should be left unbound, one way or another.
> 
> The reasons Julien just gave were:
> - It would be a large undertaking.
> - The Mercury developers are currently working on other things.
> - In his opinion (which I share) it is unimportant in Mercury,
> relative to other features.
> 
> The impression you got doesn't resemble very much what was actually said ;-)

My impression is that Charlie was trying to explain part of your third point:
i.e. the *reason* why we don't consider it a high priority to work on.

> > Remember that Mercury isn't Prolog, Mercury is Prolog's anally
> > retentive younger cousin. Mercury doesn't just want your programs
> > to be functionally pure and logically sound in ways that Prolog only
> > pretends to be capable of, MMC will slap you wit a wet cod if they
> > aren't pure and sound (unless you twist it's arm with pragmas).
> 
> I don't see that anything impure or unsound has been requested here.
> 
> (And do you really interpret compiler error messages pointing out an
> inconsistency in what you've written as some sort of personal slight?

I read Charlie's words as being a humorous take on the difference
between Prolog and Mercury. Granted, different people can find
very different things funny, especially at 3am :-)

Zoltan.


More information about the developers mailing list