Release Announcement for v6.5

142 views
Skip to first unread message

Vincent St-Amour

unread,
Apr 15, 2016, 2:29:02 PM4/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:
- unix-style install on Mac (4e7bb3071a913e57715e68b09b39666c75026aee)
- new optimizer IR (0c38da0ee2b3a8c7e9ca616e0152d9c075009495)
- changed some names in the runtime (if it's a public interface, we may want to mention) (5f7d0317e86398f9d1ba27ffc4d6dfcd4c2141b0)
- preserved syntax properties (d22df41001dd87eaf6130618b2a1a3b9cf3664b8)

robby:
- unsafe-chaperone-procedure (41c8d5bc27dba1686a02eed9aed43346772ba66f)
- procedure-result-arity (579d50b2d8fd448a554e21effe70637ad2dc9f7b)
- contract performance improvements (35ce47d97ccb4a74e481d10e65d6812c40c979ec, 126c0905797b3924b090b0f9c671dde330f74656, 126c0905797b3924b090b0f9c671dde330f74656, bea67c0a39725aea35bc4a8cabd6c6891dfdc564, probably more)

ryanc:
- better syntax-parse error messages (a86931d5f999c47698c6abab614276363a7c93da, fafa83a8a087bea1e456bc907da987dfaa6dc62d)

stamourv:
- contract profiler improved coverage (379a3dd110b7902d9947dd075b0c34c9d4b394dc)

stchang:
- hash iteration performance improvements (e8d34dd1562869c4e9352c5f007ed400825c85bb and others)

Gustavo Massaccesi / mflatt
- many optimizer improvements (bbbe99db43c3f7b2e193c83b59099e0b6f6e6427, 1b54b1c0400dd25110efb90e1da6fda34487f03c, 3f246dd857c886214ef6766f5c3baf2f50340b06, 65838bd3c8859ec099f33e8f67f1ab3042e68c3c, 2bfb851ccc49b3de72e5c5d60b8d337d890a068e, probably more)


Other repos:

db:
- support for multi-result statements in mysql (be087f41b7a344a54368428f77aca025388ff636)

net:
- support for SRV records in net/dns (8e052111691396d71ead2bfe2f2ade47f3d6287d)

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

Robby Findler

unread,
Apr 15, 2016, 2:41:03 PM4/15/16
to Vincent St-Amour, d...@racket-lang.org
For mine:

- improved the performance of racket/contract for programs in the
gradual typing benchmark

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/m2wpny20b8.wl-stamourv%40eecs.northwestern.edu.
> For more options, visit https://groups.google.com/d/optout.

Sam Tobin-Hochstadt

unread,
Apr 15, 2016, 3:07:56 PM4/15/16
to Robby Findler, Vincent St-Amour, d...@racket-lang.org
More generally, there was a bullet I drafted for 6.4 that we took out
since some of the improvements were in 6.5 (such as the ones Robby
did). Maybe a version like that would cover both the TR and
`racket/contract` improvements.

Sam

On Fri, Apr 15, 2016 at 2:41 PM, Robby Findler
<ro...@eecs.northwestern.edu> wrote:
> For mine:
>
> - improved the performance of racket/contract for programs in the
> gradual typing benchmark
>
> Robby
>
> On Fri, Apr 15, 2016 at 1:28 PM, Vincent St-Amour
> <stam...@eecs.northwestern.edu> wrote:
>> --
>> 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/m2wpny20b8.wl-stamourv%40eecs.northwestern.edu.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> 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/CAL3TdOP1tjMegbRda8JTQhEMx6UegZJDdbrjNh%3Dbt%3Dbi7-kivA%40mail.gmail.com.

Robby Findler

unread,
Apr 15, 2016, 3:27:57 PM4/15/16
to Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
Sure!

Robby

Stephen Chang

unread,
Apr 15, 2016, 3:43:59 PM4/15/16
to Robby Findler, Vincent St-Amour, d...@racket-lang.org
>> stchang:
>> - hash iteration performance improvements (e8d34dd1562869c4e9352c5f007ed400825c85bb and others)

- The in-hash and in-hash-pairs sequences use the newly added
hash-iterate-pair and hash-iterate-key+value, resulting in performance
improvements, eg they are twice as fast on some microbenchmarks.
- For further performance improvements, there are non-generic hash and
set sequences available, eg in-mutable-hash and in-mutable-set, which
use newly added unsafe hash iteration operations.


>>
>> Gustavo Massaccesi / mflatt
>> - many optimizer improvements (bbbe99db43c3f7b2e193c83b59099e0b6f6e6427, 1b54b1c0400dd25110efb90e1da6fda34487f03c, 3f246dd857c886214ef6766f5c3baf2f50340b06, 65838bd3c8859ec099f33e8f67f1ab3042e68c3c, 2bfb851ccc49b3de72e5c5d60b8d337d890a068e, probably more)
>>
>>
>> Other repos:
>>
>> db:
>> - support for multi-result statements in mysql (be087f41b7a344a54368428f77aca025388ff636)
>>
>> net:
>> - support for SRV records in net/dns (8e052111691396d71ead2bfe2f2ade47f3d6287d)
>>
>> ----------------------------------------------------------------------
>>
>> --
>> 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/m2wpny20b8.wl-stamourv%40eecs.northwestern.edu.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> 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/CAL3TdOP1tjMegbRda8JTQhEMx6UegZJDdbrjNh%3Dbt%3Dbi7-kivA%40mail.gmail.com.

Sam Tobin-Hochstadt

unread,
Apr 15, 2016, 3:45:44 PM4/15/16
to Robby Findler, Vincent St-Amour, d...@racket-lang.org
Here's what I wrote then:

Typed Racket now generates contracts with lower overhead in many
cases, speeding up typed/untyped interaction.

Here's a revision:

"Typed Racket and the racket/contract library generate code with lower overhead,
speeding up typed/untyped interaction in many cases."

Further edits welcome.

Sam

On Fri, Apr 15, 2016 at 3:27 PM, Robby Findler
<ro...@eecs.northwestern.edu> wrote:
> Sure!
>
> Robby
>
> On Fri, Apr 15, 2016 at 2:07 PM, Sam Tobin-Hochstadt
> <sa...@cs.indiana.edu> wrote:

Robby Findler

unread,
Apr 15, 2016, 4:12:55 PM4/15/16
to Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
I would replace "in many cases" with "in our gradual typing benchmark"
or similar. I don't think there has been any careful study of what is
common TR code that has been part of the design of the benchmark.

Robby

On Fri, Apr 15, 2016 at 2:45 PM, Sam Tobin-Hochstadt
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAK%3DHD%2BaDJzHB7829Odb%2BTnw2bKoVP1__w7RnrDwB%3D8tnbS2jbg%40mail.gmail.com.

Vincent St-Amour

unread,
Apr 15, 2016, 4:19:09 PM4/15/16
to Robby Findler, Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
In understand your point, but very few people actually know what this
benchmark is.

What about "in a number of gradual typing programs we studied"?

Vincent

Robby Findler

unread,
Apr 15, 2016, 5:00:05 PM4/15/16
to Vincent St-Amour, Sam Tobin-Hochstadt, d...@racket-lang.org
That works. 

Gustavo Massaccesi

unread,
Apr 16, 2016, 11:05:51 AM4/16/16
to Vincent St-Amour, Racket Devs
*** 1b54b1c0400dd25110efb90e1da6fda34487f03c and
2bfb851ccc49b3de72e5c5d60b8d337d890a068e

- The optimizer can figure out in more cases that a variable is always
a number, and remove the run time checks and omitable calculations.



*** 3f246dd857c886214ef6766f5c3baf2f50340b06

It's an internal refactor, I think it not necessary to mention it in
the release announcement.



*** bbbe99db43c3f7b2e193c83b59099e0b6f6e6427,
65838bd3c8859ec099f33e8f67f1ab3042e68c3c and others (I like
5a378ca8831c9c1f24df2d9d4192d09a1769fe40)

Most of them allow the optimizer to detect more optimizations
opportunities, but they are difficult to relate to high level
features. I think it's better to ignore them, or in any case add a
generic phrase.

Gustavo

Matthew Flatt

unread,
Apr 19, 2016, 10:24:13 AM4/19/16
to Vincent St-Amour, d...@racket-lang.org
At Fri, 15 Apr 2016 13:28:59 -0500, Vincent St-Amour wrote:
> The release announcement sketch that I have so far is below. Please
> mail me new items and/or edits.
> [...]
>
> mflatt:
> - unix-style install on Mac (4e7bb3071a913e57715e68b09b39666c75026aee)
> - new optimizer IR (0c38da0ee2b3a8c7e9ca616e0152d9c075009495)
> - changed some names in the runtime (if it's a public interface, we may want
> to mention) (5f7d0317e86398f9d1ba27ffc4d6dfcd4c2141b0)
> - preserved syntax properties (d22df41001dd87eaf6130618b2a1a3b9cf3664b8)

I think these are all too minor for a release announcement. The names
changes in 5f7d0317e8 are internal.

Vincent St-Amour

unread,
Apr 19, 2016, 2:41:51 PM4/19/16
to d...@racket-lang.org
Ok, so here's what we have so far:

- Typed Racket and the racket/contract library generate code with lower
overhead, speeding up typed/untyped interaction in a number of gradual
typing programs we studied.

- Macros written using `syntax-parse` automatically emit more accurate
error messages.

- The contract profiler captures costs from more contract combinators,
including all those in the main distribution.

- Iteration over hash tables using `in-hash`, `in-hash-pairs`,
`in-mutable-hash` and `in-mutable-set` have improved performance, up
to twice as fast on microbenchmarks.

- The Racket optimizer detects many more optimization opportunities,
including when variables always hold numbers.

- The `db` library supports multi-result statements in MySQL.

- The `net/dns` library supports SRV records.


Any thoughts / things I've missed?

Vincent

Stephen Chang

unread,
Apr 19, 2016, 3:12:11 PM4/19/16
to Vincent St-Amour, dev
> - Iteration over hash tables using `in-hash`, `in-hash-pairs`,
> `in-mutable-hash` and `in-mutable-set` have improved performance, up
> to twice as fast on microbenchmarks.

This is not equivalent to my original text. How about:

Hash table and set iteration, via both existing and new non-generic
sequences, is more performant, up to twice as fast on microbenchmarks.
> --
> 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/m2fuuhzbir.wl-stamourv%40eecs.northwestern.edu.

Vincent St-Amour

unread,
Apr 19, 2016, 3:14:42 PM4/19/16
to Stephen Chang, Vincent St-Amour, dev
On Tue, 19 Apr 2016 14:12:09 -0500,
Stephen Chang wrote:
>
> > - Iteration over hash tables using `in-hash`, `in-hash-pairs`,
> > `in-mutable-hash` and `in-mutable-set` have improved performance, up
> > to twice as fast on microbenchmarks.
>
> This is not equivalent to my original text. How about:
>
> Hash table and set iteration, via both existing and new non-generic
> sequences, is more performant, up to twice as fast on microbenchmarks.

Sorry. I tried to simplify them.

Let's use your new text.

Vincent

Stephen Chang

unread,
Apr 19, 2016, 3:19:16 PM4/19/16
to Vincent St-Amour, dev
Yes, I was too wordy. Sounds good.

Vincent St-Amour

unread,
Apr 20, 2016, 5:12:38 PM4/20/16
to d...@racket-lang.org
Sam suggested we should include the list of people who contributed to
this release in the announcement.

The list is below. Let me know if anything looks wrong to you.

Vincent



Adrien Tateno
Alex Knauth
Alexander Shopov
Alexis King
Andrew Kent
Asumu Takikawa
Benjamin Greenman
Chen Xiao
Chris Jester-Young
Daniel Feltey
Eric Dobson
Georges Dupéron
Gustavo Massaccesi
Ian Harris
Jay McCarthy
Jens Axel Søgaard
John Clements
Leandro Facchinetti
Lehi Toskin
Leif Andersen
Marc Kaufmann
Matthew Flatt
Matthias Felleisen
Michael McConville
Mike Sperber
Paul Stansifer
Philippe Meunier
Robby Findler
Rodrigo Setti
Ryan Culpepper
Sam Caldwell
Sam Tobin-Hochstadt
sorawee
Spencer Florence
Stephen Chang
Tony Garnock-Jones
Vincent St-Amour
WarGrey Gyoudmon Ju
William J. Bowman
Łukasz Dąbek

Stephen Chang

unread,
Apr 20, 2016, 5:30:48 PM4/20/16
to Vincent St-Amour, dev
Use Sorawee's full name? I believe it's Sorawee Porncharoenwase.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m2twiwx9vg.wl-stamourv%40eecs.northwestern.edu.

Vincent St-Amour

unread,
Apr 20, 2016, 5:37:15 PM4/20/16
to Stephen Chang, dev
Good idea. Thanks for finding his full name!

Vincent

Gustavo Massaccesi

unread,
Apr 20, 2016, 11:01:40 PM4/20/16
to Vincent St-Amour, Stephen Chang, dev
Two details about the order.

I'm guessing that "Łukasz Dąbek" is from Poland, and they put the Ł
between the L and the M, so I think he should be ordered between Leif
and Mark. https://en.wikipedia.org/wiki/Polish_alphabet . This order
looks more natural to me [1].

In the case of "Chen Xiao" I think that Chen is the family name.
(There is an actor with the same name
https://en.wikipedia.org/wiki/Chen_Xiao ). I guess he prefer to appear
as "Chen Xiao" than "Xiao Chen", so I think that it's better to ignore
this an don't change the order.

Gustavo

[1] Here we have problems with the Ñ, because LaTeX doesn't like to
alphabetize it correctly.


On Wed, Apr 20, 2016 at 6:37 PM, Vincent St-Amour
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m2r3e0x8qe.wl-stamourv%40eecs.northwestern.edu.

Vincent St-Amour

unread,
Apr 21, 2016, 10:52:24 AM4/21/16
to Gustavo Massaccesi, Vincent St-Amour, Stephen Chang, dev
On Wed, 20 Apr 2016 22:00:58 -0500,
Gustavo Massaccesi wrote:
>
> Two details about the order.
>
> I'm guessing that "Łukasz Dąbek" is from Poland, and they put the Ł
> between the L and the M, so I think he should be ordered between Leif
> and Mark. https://en.wikipedia.org/wiki/Polish_alphabet . This order
> looks more natural to me [1].

Thanks for looking into it! I'll fix the order.

> In the case of "Chen Xiao" I think that Chen is the family name.
> (There is an actor with the same name
> https://en.wikipedia.org/wiki/Chen_Xiao ). I guess he prefer to appear
> as "Chen Xiao" than "Xiao Chen", so I think that it's better to ignore
> this an don't change the order.

I'll ask him what he prefers.

Vincent

Ryan Culpepper

unread,
Apr 21, 2016, 11:16:26 AM4/21/16
to Vincent St-Amour, d...@racket-lang.org
The `racket/unix-socket` library supports listen and accept operations.

Ryan
Reply all
Reply to author
Forward
0 new messages