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. Carl, I believe, was asking for there not to be a syntax error in this case. Robby _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev