I am totally with you. (I don't understand how you can satisfy Carl's scenario 
and keep it inexpensive but all the power to you.) 




On Jan 15, 2011, at 12:42 PM, Stevie Strickland wrote:

> On Jan 15, 2011, at 12:32 PM, Robby Findler wrote:
>> But I don't think we should think of it as 'changing the positive
>> blame information' -- I agree anything phrased like that sounds wrong.
> 
> But I think you _do_ want this in some cases, where you're reproviding 
> internally contracted things to an outside world, and don't want specifics of 
> your implementation to leak.  Again, this seems to be what you'd actually 
> want for redex, right?  You're reproviding things you've contracted 
> internally (to make sure you are using them appropriately in your 
> implementation) to the outside world, and at this point there's no reason for 
> the outside world to know that the function `redex-mangle-names' is defined 
> in the module contained in the file 
> $PLTHOME/collects/redex/private/mangler/nomnomnom.rkt; it'd be better for the 
> user if the blame was just the current blame you'd get if it were contracted 
> in the external interface, or maybe even something like `(collection redex)'.
> 
>> Instead, I think we should be thinking "what is (provide f) shorthand
>> for?". In the past I argued it was shorthand for "(provide/contract [f
>> any/c])" but now I think that maybe we should be thinking of it as
>> "(provide/contract [f
>> <the-contract-f-was-imported-with-or-any/c-if-there-wasn't-one>])".
>> 
>> Does that make more sense?
> 
> I do understand what you're saying.  Whether or not we made that change 
> (which pretty much puts us back in the old negative blame calculation world), 
> I'm just wondering whether we also want an operation like that I've described 
> above for use in collects, PLaneT packages, and the like.  However, that one 
> really would need to be explicit, since you wouldn't want it to happen all 
> the time.  (And to be fair, I'd still argue it'd be the right thing for the 
> re-exporting that you're describing for redex, where you're re-exporting 
> internal values to the outside world for use.)
> 
> Stevie
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev

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

Reply via email to