[racket-dev] Blame and re-provided bindings

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sat Jan 15 13:19:32 EST 2011

On Jan 15, 2011, at 1:12 PM, Robby Findler wrote:

> do you think this change I'm suggesting (act as if the contract were written a second time) is the right behavior

1. My personal preference is to ask programmers to re-provide identifiers with explicit contracts that are ideally stated and specified in a separate 'contracts.rkt' file per collects/project basis. I.e., the current world is my preference. 

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? 

-- Matthias

Posted on the dev mailing list.