[racket-dev] Release Announcement for v5.3.1

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Sun Oct 28 13:20:36 EDT 2012

On Sun, Oct 28, 2012 at 1:16 PM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> Can you make succinct examples of operations that would have
> gone wrong with the past interpretation of Any and can you
> explain how the new interpretation will do better? Please
> share here.

Here's a quick example:

#lang racket/load

(module m1 typed/racket
  (define: f : Any (vector 1 2 3))
  (provide f))

(module m2 racket
  (require 'm1)
  (for/sum ([e f]) e))

(require 'm2)

This produces 6, as expected, with the current system; the previous
system would have errored because `f` would have been an opaque value.

>
>
> On Oct 28, 2012, at 11:36 AM, Sam Tobin-Hochstadt wrote:
>
>> On Sun, Oct 28, 2012 at 11:13 AM, Robby Findler
>> <robby at eecs.northwestern.edu> wrote:
>>> Was it wrong before? Suboptimal somehow?
>>
>> It was suboptimal in that more operations should be allowed now (such
>> as accessing elements of a mutable vector provided under the type
>> `Any`).  However, some of the errors that this has caused in practice
>> make me think that the previous implementation was wrong as well,
>> since some of the programs that broke shouldn't have worked.
>>
>>> On Oct 28, 2012, at 9:58 AM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
>>>
>>>> On Wed, Oct 24, 2012 at 8:29 PM, Ryan Culpepper <ryan at cs.utah.edu> wrote:
>>>>>
>>>>> samth:
>>>>> - type->contract fixes/changes (9e1cf579a4, 962f2472e1)
>>>>> - add #:opaque and #:struct to require/typed (9054d0db7d)
>>>>
>>>> Typed Racket now handles higher-order values provided to untyped
>>>> modules under the type `Any` differently.  This may lead to dynamic
>>>> errors in some mixed typed/untyped programs, which can be fixed by
>>>> using more specific types.
>>>>
>>>> --
>>>> sam th
>>>> samth at ccs.neu.edu
>>>> _________________________
>>>> Racket Developers list:
>>>> http://lists.racket-lang.org/dev
>>
>>
>>
>> --
>> sam th
>> samth at ccs.neu.edu
>> _________________________
>>  Racket Developers list:
>>  http://lists.racket-lang.org/dev
>



-- 
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.