The madness of implicit parameters: cured?

Ashley Yakeley ashley@semantic.org
Mon, 4 Aug 2003 23:22:22 -0700


At 2003-08-04 22:33, Ben Rudiak-Gould wrote:

>This illustrates what you pointed out earlier, that the
>program's semantics can be changed by adding explicit type signatures
>which include implicitly-parameterized parameters.

But wasn't avoiding this a design goal of your proposal?

>> If it is valid, then this must be a valid reduction:
>> 
>>   ((\a -> ((a,\@x -> @x) {@x = 2})) (\@x -> @x),\@x -> @x) {@x = 1}
>>   ((\@x -> @x,\@x -> @x) {@x = 2},\@x -> @x) {@x = 1}
>
>Not unless you give an explicit type signature, no.

So effectively your proposal is the same as the existing implicit 
parameter mechanism, except that the compiler is a bit stricter in 
certain cases where the types are ambiguous?


-- 
Ashley Yakeley, Seattle WA