[mercury-users] Mercury in academic teaching?

Jonathan Morgan jonmmorgan at gmail.com
Sat Oct 7 11:03:52 AEST 2006


On 06/10/06, Jörg Roman Rudnick <joerg.rudnick at t-online.de> wrote:
> are there any experiences with teaching Mercury instead of Prolog at
> academic level?
>
> The head of the chair I'm working at displays unexpected interest in
> Mercury - now a completely new question appears in my head:
>
> Is Mercury an option as introduction to logic programming?
>
> Personally very convinced, I am unsure about possible problems in
> teaching it as second (or third) language besides Java (and C#) to
> students of AI (at a course of study like 'master of business computing').
>
> I would be very interested in your opinions...

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.

Jon

Jon

--------------------------------------------------------------------------
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