[mercury-users] literature polymorphic recursive calls

brogoff brogoff at speakeasy.net
Tue Jun 21 00:06:49 AEST 2005


On Mon, 20 Jun 2005, Tom Schrijvers wrote:

> > > I am looking for literature about a particular aspect of Mercury's type
> > > inference, namely the way it deals with polymorphic recursive calls. Is
> > > there some documentation about the iteration limit and what recursive
> > > calls lead to infinite types? Are there any new or upcoming developments
> > > on this account?
> >
> > The best document on the subject would be David Jeffrey's Ph.D.
> > dissertation, "Expressive type systems for logic programming languages"
> > http://www.cs.mu.oz.au/research/mercury/information/papers.html#dgj-thesis-final
>
> Thanks for this pointer, Ralph. I must admit that I had already looked at
> this text. As far as I can see it does not provide any details about the
> actual type inference; it mainly presents the type system itself. I was
> hoping for a text that focuses on the inference and explains the
> recursive calls issue.

Hi Tom,
     My memory is fading, but I think the book on Clean called "Functional
Programming and Parallel Graph Rewriting", which is (was?) available at the
Clean web site, has a discussion of the type checking algorithm of Clean
which includes a discussion of Hindley-Milner vs Milner-Mycroft, if that's
what you mean. Perhaps that's relevant?

    It seems odd to me that Mercury doesn't use Haskell's approach of requiring
an explicit signature to handle polymorphic recursion, given that there are
lots of signatures in the Mercury code I look at (a GOOD thing, IMO, type
inference is overrated).

-- Brian

--------------------------------------------------------------------------
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list