On Jan 15, 2011, at 1:24 PM, Robby Findler wrote:
> On Sat, Jan 15, 2011 at 12:22 PM, Stevie Strickland
> <sstri...@ccs.neu.edu> wrote:
>> On Jan 15, 2011, at 1:19 PM, Matthias Felleisen wrote:
>>> 2. I am not strictly opposed to your suggestion because I see value in your 
>>> reasoning. If we go with re-providing the identifier with its contract, I 
>>> would like to see the blame assignment shifted to the re-exporting module. 
>>> This does leave us with the "Carl" question:
>>> 
>>> who is going to be blamed when module C imports f from A and (re-provided 
>>> from) B?
>> 
>> It'll be a syntax error.  There's no way to change the positive blame 
>> information for the contract form that an identifier will expand into 
>> without changing the binding information.  That's why it'd have to be an 
>> explicit operation, even if it's inexpensive because the work is done at 
>> syntax time (just changing the syntax transformer) and not trying to 
>> recontract the already contracted value with new blame information.
> 
> This is not a syntax error at the moment and already something that can 
> happen.
> 
> In particular, if I call 'f' with the wrong arguments, it may or may
> not say "via B" in the error message.

That's the user blame changing, _not_ the positive blame.  I assumed that 
Matthias meant that he'd like to see the _positive_ blame shifted to the 
re-exporting module, which would cause the issue.

Stevie
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to