> On Dec 10, 2015, at 4:47 PM, Hendrik Boom <[email protected]> wrote:
> 
> On Thu, Dec 10, 2015 at 07:22:40PM -0500, Matthias Felleisen wrote:
>> 
>> On Dec 10, 2015, at 3:04 PM, Klaus Ostermann <[email protected]> wrote:
>> 
>>> Thanks for the clarification, Sam. What you write makes sense.
>>> 
>>> However, since the default case (without explicit annotations) is that I 
>>> get these very (too?) precise singleton types, I have the impression that 
>>> reasoning about (typed) program equivalence is more difficult in TR than in 
>>> standard statically typed languages. 
>>> 
>>> Aren't types supposed to be a device for abstraction and for supporting 
>>> information hiding? Singleton types seem to be against that spirit by 
>>> exposing "implementation details" of the terms, such as the difference 
>>> between (- 1 1) and (- 2 2).
>> 
>> 
>> I don't think gradual/incremental type systems play this role.
>> But it is an open question how we can enrich such type systems with 
>> types as abstraction barriers. -- Matthias
> 
> You don't use types as abstraction barriers.
> 
> You use modules aas abstraction barriers.
> And in your module system you specify explicitly how much  type 
> information is exported to be used to type-check the module user.
> 
> Modules are not types.  But they can contain type definitions.  You an 
> export the type definition, or just the type's presence.
> 
> -- hendrik
> 


Yes sir :-) 


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to