AW: simulating dynamic dispatch

Steffen Mazanek Steffen.Mazanek@unibw-muenchen.de
24 Mar 2003 08:47:23 +0000


> concrete: What is the difference between
>   (forall b. Term b => b -> b) -> a -> a
> and
>   (Term b) => (b -> b) -> a -> a
> ?

One may want:

fun f x y = f x + f y

for instance:

fun length [True, False] [1,2]

Therefore, I would say, you need typing a la

fun::(forall a.[a]->Int)->[b]->[c]->Int

Ciao,
Steffen