I took a quick skim through this -- not closely enough to follow all the details but I still found some useful background understanding.

For me, it clarified slightly the role of types on the left and right hand sides of a function arrow, which I've seen mentioned in passing but never explained, but there's still a gap in my grasp of this notion (something to do with types on LHS of arrow being subject to pattern matching?).

A lingering question in my mind, which may be pretty irrelevant to your purpose, is the relationship between these higher rank types and GHC's existentially bound types (which also use the 'forall' keyword).

(Working as I do with Semantic Web technologies and ideas, I was interested to note your "simple rules ... rather than trying to exploit every ounce of inference". I have similar views regarding the role of inference in semantic web applications. I think it will be interesting to study your inference patterns in detail (when I find time!), and in particular to compare your approach to subsumption with the Description Logic approach favoured by many in the SWeb community.)

#g
--

At 11:23 07/07/03 +0100, Simon Peyton-Jones wrote:
Dear Haskellers

For a long time now, Mark Shields and I have been writing a paper
describing GHC's approach to type inference for higher-rank types.
We've finally finished a complete draft:

        Practical type inference for arbitrary-rank types
        Simon Peyton Jones and Mark Shields
        http://research.microsoft.com/~simonpj/papers/putting/index.htm

The paper has a strongly tutorial flavour, and comes complete with a
prototype implementation that you can play with.  My hope is that, in
addition to describing higher-rank stuff, the paper may serve as a kind
of tutorial on type inference generally, and the use of monads to
support the plumbing in particular.  There's nothing really new about
this aspect of the paper, but I don't know of a comparable tutorial that
takes a monadic approach.

It's still very much a draft, so I'd be very interested in your feedback
about it.

Simon

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

------------------- Graham Klyne <[EMAIL PROTECTED]> PGP: 0FAA 69FF C083 000B A2E9 A131 01B9 1C7A DBCA CB5E

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to