You may want to read our papers on Units, Harper/Lillibridge and Leroy both from POPL ’94 and chase the citations forward. But perhaps Reynolds’s old saying “type structure is a syntactic discipline for enforcing levels of abstraction” suffices — Matthias (yes, I have studied all of this too and mostly by talking to the people themselves)
> On Dec 10, 2015, at 5:52 PM, Hendrik Boom <[email protected]> wrote: > > 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.

