[mercury-users] Mercury in academic teaching?
Nicholas Nethercote
njn at csse.unimelb.edu.au
Sat Oct 7 11:49:12 AEST 2006
On Sat, 7 Oct 2006, Jonathan Morgan wrote:
>> Is Mercury an option as introduction to logic programming?
>
> As a student who is just studying Prolog, I do not believe that
> Mercury is likely to be a good introductory logic programming language
> for several reasons. The main one is very simple - Mercury was not
> designed for simplicity, but rather for performance and large-scale
> Software Engineering. In my opinion, this makes it a great language
> for using to write real programs, but not for education, as even small
> programs require understanding of Mercury's module system, type and
> mode system (unless you use inference), and the I/O state. On the
> contrary, most Prologs do not require types, and have interpreters,
> allowing them to be used in an exploratory manner quickly and easily -
> which I feel is much better for education as an introduction to logic
> programming. Prolog is much simpler (and probably more elegant) for
> writing small programs in, and for playing round with to discover how
> things like non-determinism work.
I disagree. I studied Prolog first, but didn't properly understand it until
I learnt Mercury and learnt explicitly about modes and determinism; it was
only then I understood what Prolog was doing.
I don't think Mercury's module system is difficult at all (particularly if
you're writing single-module programs), and the I/O isn't that difficult --
it's much simpler than Haskell's and Haskell is routinely taught to computer
science novices.
Nick
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to: mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions: mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the users
mailing list