On Thu, Dec 10, 2015 at 08:25:11PM -0500, Matthias Felleisen wrote:
> 
> 
> > 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 :-) 

;-)

Maybe that's obvious to you, but there are a lot of people it's not obvious to.
And a lot of them have been designing programming languages.

-- hendrik


> 
> 

-- 
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