Version française
Home     About     Download     Resources     Contact us    
Browse thread
Question on polymorphic typing for curried functions
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Harrison, John R <john.r.harrison@i...>
Subject: RE: [Caml-list] Question on polymorphic typing for curried functions
Hi Chris,

| I am looking for a bit of information on the behavior of
| curried functions wrt polymorphic arguments. For instance, in
| the following example, using a curried function seems to lose
| the nice polymorphism that I desire.

OCaml uses a variant of the so-called "value restriction" to ensure
soundness in the way polymorphism and imperative features interact.
You can find more information in this paper by Jacques Garrigue:

  http://www.math.nagoya-u.ac.jp/~garrigue/papers/morepoly-long.pdf

It can sometimes be annoying and unintuitive (for me anyway) to lose
polymorphism by eta contraction. But this approach is at least
relatively simple and well-understood.

John.