Release Announcement for v6.6

109 views
Skip to first unread message

Vincent St-Amour

unread,
Jul 15, 2016, 11:04:32 AM7/15/16
to d...@racket-lang.org
The release announcement sketch that I have so far is below. Please
mail me new items and/or edits.

Please phrase announcements using complete sentences and avoid the
word "now".
----------------------------------------------------------------------

mflatt:
- OpenSSL v1.1 support 120952edd70bdfb7f6c885e1e8b6b642f072f6bb
- linklets 4a1afa66c81957a7ec7df144df11f4c503251d1a
- optimizer improvements e887fa56d1f4c37b18901ff916055ce21e270f3c
- GC improvements b243ce894acfb0cd78b05199c4d6f75c4e2f23bb 9ff64fc6ed67938e6ec7d37bee612e71f91ba7fa
- hash table improvements 49fd1e41da91455f682bb0b586c0a5b59a7409df
- tethering 6369e567097866d6a65a3da32c8125131fabdd73

ryanc:
- upcoming syntax/parse backwards incompatibility
- syntax/parse progress tracking 80364d85ddc4977b4e10086b4993e7b3e152a04c 4e6438eaf2b252d64d7f101141d3cdad74618cec
- macro-debugger: macro code size profiler 7abcdbd3bd4e1c2d31b0880ad31efe7e47922bda

robby:
- GUI: indentation behavior changes
- redex: lots of changes

jay/tonyg:
- new package website?

samth:
- folding in of the compiler and net repos

TR:
- discussion of the `any/c` issue
- intersections 010134d2b1bc1201b171c997deed39fd452b40e1 b4a4c174e428ef675e7514a3e74d4002d604de56
- zo size improvements c29eb20efc3ee05ba9669a28c0482096f2e753d0 196744e0cdbd9899e6c7015e0ed71b3165e5ff12 more?
- cast fixes a846514f281aa98d16892ec8be56c9418a5eac9f

----------------------------------------------------------------------

Robby Findler

unread,
Jul 15, 2016, 6:28:50 PM7/15/16
to Vincent St-Amour, d...@racket-lang.org
I don't think my entries are release-notes worthy.

Robby
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m2y453eydf.wl-stamourv%40eecs.northwestern.edu.
> For more options, visit https://groups.google.com/d/optout.

Vincent St-Amour

unread,
Jul 21, 2016, 1:44:42 PM7/21/16
to d...@racket-lang.org
Just a reminder. We still need text for the following items.

mflatt:
- OpenSSL v1.1 support 120952edd70bdfb7f6c885e1e8b6b642f072f6bb
- linklets 4a1afa66c81957a7ec7df144df11f4c503251d1a
- optimizer improvements e887fa56d1f4c37b18901ff916055ce21e270f3c
- GC improvements b243ce894acfb0cd78b05199c4d6f75c4e2f23bb 9ff64fc6ed67938e6ec7d37bee612e71f91ba7fa
- hash table improvements 49fd1e41da91455f682bb0b586c0a5b59a7409df
- tethering 6369e567097866d6a65a3da32c8125131fabdd73

ryanc:
- upcoming syntax/parse backwards incompatibility
- syntax/parse progress tracking 80364d85ddc4977b4e10086b4993e7b3e152a04c 4e6438eaf2b252d64d7f101141d3cdad74618cec
- macro-debugger: macro code size profiler 7abcdbd3bd4e1c2d31b0880ad31efe7e47922bda

Asumu Takikawa

unread,
Jul 21, 2016, 2:15:22 PM7/21/16
to Vincent St-Amour, d...@racket-lang.org
On 2016-07-21 12:44:38 -0500, Vincent St-Amour wrote:
> - zo size improvements c29eb20efc3ee05ba9669a28c0482096f2e753d0
> 196744e0cdbd9899e6c7015e0ed71b3165e5ff12 more?

"Typed Racket generates less code for contract checking and
type serialization in some cases."

Not sure it's worth including though.

Cheers,
Asumu

Vincent St-Amour

unread,
Jul 21, 2016, 2:18:17 PM7/21/16
to Asumu Takikawa, Vincent St-Amour, d...@racket-lang.org
Didn't you say the main distribution is 50M smaller now? Sounds worth
mentioning. Probably more the end result than the the exact details of
where the savings come from.

Vincent

Sam Tobin-Hochstadt

unread,
Jul 21, 2016, 5:09:07 PM7/21/16
to Vincent St-Amour, d...@racket-lang.org
On Thu, Jul 21, 2016 at 1:44 PM, Vincent St-Amour
<stam...@eecs.northwestern.edu> wrote:
>
> samth:
> - folding in of the compiler and net repos

I think we can omit this.

> TR:
> - discussion of the `any/c` issue

Typed Racket issues warnings in cases where the contract generated for
`Any` was not strict enough in the past. These warnings will become
errors in a future release.

> - intersections 010134d2b1bc1201b171c997deed39fd452b40e1 b4a4c174e428ef675e7514a3e74d4002d604de56

Typed Racket now supports intersection types. This allows the type
system to track more information, and for programmers to express more
precise types.

> - cast fixes a846514f281aa98d16892ec8be56c9418a5eac9f

Typed Racket now enforces uses of `cast` with contracts more
correctly. In some cases, this will produce contract errors in
programs that did not have errors before.

Sam

Alex Knauth

unread,
Jul 21, 2016, 5:38:16 PM7/21/16
to Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org

> On Jul 21, 2016, at 5:08 PM, Sam Tobin-Hochstadt <sa...@cs.indiana.edu> wrote:
>
> On Thu, Jul 21, 2016 at 1:44 PM, Vincent St-Amour
> <stam...@eecs.northwestern.edu> wrote:

>> samth:

>> - cast fixes a846514f281aa98d16892ec8be56c9418a5eac9f

> Typed Racket now enforces uses of `cast` with contracts more
> correctly. In some cases, this will produce contract errors in
> programs that did not have errors before.

Should this mention that it now generates a contract for the existing type as well?

That's the specific thing that would confuse people who are used to cast only generating a contract for the new type.

Alex Knauth

Vincent St-Amour

unread,
Jul 21, 2016, 5:58:45 PM7/21/16
to Alex Knauth, Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
I imagine that's explained in the docs?

That's too much detail for the release notes, IMO.

Vincent

Sam Tobin-Hochstadt

unread,
Jul 21, 2016, 6:04:26 PM7/21/16
to Vincent St-Amour, Alex Knauth, d...@racket-lang.org
On Thu, Jul 21, 2016 at 5:58 PM, Vincent St-Amour
<stam...@eecs.northwestern.edu> wrote:
> On Thu, 21 Jul 2016 16:38:14 -0500,
> Alex Knauth wrote:
>>
>>
> I imagine that's explained in the docs?
>
> That's too much detail for the release notes, IMO.

I'm unsure about which way to go on this. On the one hand, it's more
detail. On the other hand, the detail is precisely what people whose
programs now error need to know.

Sam

Robby Findler

unread,
Jul 21, 2016, 7:35:43 PM7/21/16
to Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
Can we say in a single line how to get the warnings to show up?

Robby
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAK%3DHD%2BaCKtApgFH99%2Bcu6PD28-8STFs3kAf-pMZ3pp7tSxJw7g%40mail.gmail.com.

Alex Harsanyi

unread,
Jul 21, 2016, 8:08:04 PM7/21/16
to Racket Developers, stam...@eecs.northwestern.edu, d...@racket-lang.org, as...@ccs.neu.edu

Hi Asumu,

I just installed 6.6.0.2 and for a small TR module (approx 50 lines of code) it reduces the size of the .zo file from 8Mb in 6.5 to approx 2Mb, I think this is impressive.  For other TR modules it reduces the size of the .zo file by about 20 - 25%, this is still significant.

Also, the final executable for my application has dropped in size from 104Mb in Racket 6.5 to about 60Mb in Racket 6.6.

I think this is a great improvement and definitely worth mentioning.

Best Regards,
Alex.

Matthew Flatt

unread,
Jul 22, 2016, 9:53:37 AM7/22/16
to Vincent St-Amour, d...@racket-lang.org
At Fri, 15 Jul 2016 10:04:28 -0500, Vincent St-Amour wrote:
> mflatt:
> - OpenSSL v1.1 support 120952edd70bdfb7f6c885e1e8b6b642f072f6bb
> - linklets 4a1afa66c81957a7ec7df144df11f4c503251d1a
> - optimizer improvements e887fa56d1f4c37b18901ff916055ce21e270f3c
> - GC improvements b243ce894acfb0cd78b05199c4d6f75c4e2f23bb
> 9ff64fc6ed67938e6ec7d37bee612e71f91ba7fa
> - hash table improvements 49fd1e41da91455f682bb0b586c0a5b59a7409df
> - tethering 6369e567097866d6a65a3da32c8125131fabdd73

I think these are all too minor for a release announcement.

Vincent St-Amour

unread,
Jul 22, 2016, 12:13:14 PM7/22/16
to Alex Harsanyi, Racket Developers, stam...@eecs.northwestern.edu, d...@racket-lang.org, as...@ccs.neu.edu
Ok, so how about:

Typed Racket produces up to 4x smaller compiled files compared with
Racket 6.5, reducing the size of the Racket distribution by 50M.

Vincent
> --
> You received this message because you are subscribed to the Google
> Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-dev/350cee48-e6f3-43d6-9fc5-878578687d87%40googlegroups.com.

Sam Tobin-Hochstadt

unread,
Jul 22, 2016, 12:17:12 PM7/22/16
to Robby Findler, Vincent St-Amour, d...@racket-lang.org
On Thu, Jul 21, 2016 at 7:35 PM, Robby Findler
<ro...@eecs.northwestern.edu> wrote:
> Can we say in a single line how to get the warnings to show up?
>
> Robby
>
> On Thu, Jul 21, 2016 at 4:08 PM, Sam Tobin-Hochstadt
> <sa...@cs.indiana.edu> wrote:
>> On Thu, Jul 21, 2016 at 1:44 PM, Vincent St-Amour
>> <stam...@eecs.northwestern.edu> wrote:
>>>
>>> samth:
>>> - folding in of the compiler and net repos
>>
>> I think we can omit this.
>>
>>> TR:
>>> - discussion of the `any/c` issue
>>
>> Typed Racket issues warnings in cases where the contract generated for
>> `Any` was not strict enough in the past. These warnings will become
>> errors in a future release.

Add: These warnings are visible by default in Racket, and in the "View
Log" window in DrRacket.

>>> - intersections 010134d2b1bc1201b171c997deed39fd452b40e1 b4a4c174e428ef675e7514a3e74d4002d604de56
>>
>> Typed Racket now supports intersection types. This allows the type
>> system to track more information, and for programmers to express more
>> precise types.
>>
>>> - cast fixes a846514f281aa98d16892ec8be56c9418a5eac9f
>>
>> Typed Racket now enforces uses of `cast` with contracts more
>> correctly. In some cases, this will produce contract errors in
>> programs that did not have errors before.


How about:

Typed Racket now enforces uses of `cast` with contracts more
correctly by using the source type of the cast. In some cases, this

Vincent St-Amour

unread,
Jul 22, 2016, 12:20:24 PM7/22/16
to Robby Findler, Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
Ok, so how about:

Typed Racket issues warnings in cases where the contract generated for
`Any` was not strict enough in the past. These warnings will become
errors in a future release. Warnings are enabled via View -> Show Log
in DrRacket, or using the -W command-line flag.

and

Typed Racket enforces uses of `cast` more correctly, by checking both
the "casted-to" and "casted-from" types. Previously, only the former
were checked. In some cases, this will produce contract errors in
programs that did not have errors before.

Vincent

Vincent St-Amour

unread,
Jul 22, 2016, 1:17:05 PM7/22/16
to d...@racket-lang.org
Ok, just a few left.

> ryanc:
> - upcoming syntax/parse backwards incompatibility

I've re-read the discussion, and now I'm confused. Was the resolution a
new set of changes that accomplishes what the older, backwards-
incompatible changes would have achieved, but which preserves backwards
compatibility? I.e., are we still planning to introduce an incompatibility
in 6.7?

> - syntax/parse progress tracking 80364d85ddc4977b4e10086b4993e7b3e152a04c 4e6438eaf2b252d64d7f101141d3cdad74618cec

`syntax/parse` has improved progress tracking, leading to error
message improvements for macros implemented with it.

> - macro-debugger: macro code size profiler 7abcdbd3bd4e1c2d31b0880ad31efe7e47922bda

The new macro profiler shows which macros contribute most to expanded
code size.

Ryan, any comments?

Vincent



On Thu, 21 Jul 2016 12:44:38 -0500,
Vincent St-Amour wrote:
>
> Just a reminder. We still need text for the following items.
>
>
> jay/tonyg:
> - new package website?
>
> samth:
> - folding in of the compiler and net repos
>
> TR:
> - discussion of the `any/c` issue
> - intersections 010134d2b1bc1201b171c997deed39fd452b40e1 b4a4c174e428ef675e7514a3e74d4002d604de56
> - zo size improvements c29eb20efc3ee05ba9669a28c0482096f2e753d0 196744e0cdbd9899e6c7015e0ed71b3165e5ff12 more?
> - cast fixes a846514f281aa98d16892ec8be56c9418a5eac9f
>
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m27fcedgxl.wl-stamourv%40eecs.northwestern.edu.

Ryan Culpepper

unread,
Jul 22, 2016, 1:42:32 PM7/22/16
to Vincent St-Amour, d...@racket-lang.org
On 07/22/2016 01:17 PM, Vincent St-Amour wrote:
> Ok, just a few left.
>
>> ryanc:
>> - upcoming syntax/parse backwards incompatibility
>
> I've re-read the discussion, and now I'm confused. Was the resolution a
> new set of changes that accomplishes what the older, backwards-
> incompatible changes would have achieved, but which preserves backwards
> compatibility? I.e., are we still planning to introduce an incompatibility
> in 6.7?

A change is still happening, but it doesn't affect those packages we
discussed earlier; they were taken care of by refining when
"nullability" matters. Here's my text:

* `syntax-parse` raises an error when an ellipsis pattern has an empty
match rather than diverging, and it logs a warning when it statically
detects a nullable pattern, such as `((~seq) ...)`. In the next version
of Racket, it will reject the pattern instead, and it will remove
special handling that currently makes some uses of such patterns terminate.

>> - syntax/parse progress tracking 80364d85ddc4977b4e10086b4993e7b3e152a04c 4e6438eaf2b252d64d7f101141d3cdad74618cec
>
> `syntax/parse` has improved progress tracking, leading to error
> message improvements for macros implemented with it.

I think we can leave this out, but if you want to include it I like this
text.

>> - macro-debugger: macro code size profiler 7abcdbd3bd4e1c2d31b0880ad31efe7e47922bda
>
> The new macro profiler shows which macros contribute most to expanded
> code size.

* The new Macro Profiler command-line tool (`raco macro-profiler`) shows
how macros contribute to the final expanded code size of a program.

Ryan

Vincent St-Amour

unread,
Jul 22, 2016, 1:46:01 PM7/22/16
to Ryan Culpepper, Vincent St-Amour, d...@racket-lang.org
Great, thanks!

Vincent
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/57925ACE.7030806%40ccs.neu.edu.
Reply all
Reply to author
Forward
0 new messages