Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!pipex!uunet!allegra!alice!pereira
From: pereira@alta.research.att.com (Fernando Pereira)
Subject: Re: meta-programming, strong typing, and monads
In-Reply-To: jwl@miki.cs.bris.ac.uk's message of Fri, 25 Nov 1994 16:15:48 GMT
Message-ID: <PEREIRA.94Nov25153935@alta.research.att.com>
Sender: usenet@research.att.com (netnews <9149-80593> 0112740)
Nntp-Posting-Host: alta.research.att.com
Reply-To: pereira@research.att.com
Organization: AT&T Bell Laboratories
References: <CztzuC.H1w@info.bris.ac.uk>
Date: Fri, 25 Nov 1994 20:39:35 GMT
Lines: 23

In article <CztzuC.H1w@info.bris.ac.uk> jwl@miki.cs.bris.ac.uk (John Lloyd) writes:
   I was surprised to see monads compared with difference lists. There really is
   much more to monads than this. In particular, the monadic approach to IO is, quite 
   simply, stunningly beautiful. Mind you, it needs higher order, which is another 
   good reason for moving in this direction. I recently implemented monadic IO 
   for Escher (yes, Virginia there is an Escher!) and it works really well, providing
   a truly declarative model of IO. If you want to read more about it, raid the
   Glasgow FP ftp site and grab papers by Peyton-Jones and Wadler. (E.g.
   "Imperative Functional Programming" by these two gives a good introduction).
OK, I admit to having been more flippant in my comment than monadic
programming deserves. I was probably unconsciously reacting to the
fact than for many years functional programming advocates were
strongly dismissive of the advantages of argument-threading/difference
lists/accumulator techniques in logic programming. Now, I would agree
that the monadic approach cleans up the issue from the semantic point of
view, but sometimes the claims made for it are pretty overblown and
ignore the earlier insights from logic programming.
--
Fernando Pereira
2D-447, AT&T Bell Laboratories
600 Mountain Ave, PO Box 636
Murray Hill, NJ 07974-0636
pereira@research.att.com
