Release Announcement for v7.7

81 views
Skip to first unread message

John Clements

unread,
Apr 29, 2020, 4:07:29 PM4/29/20
to Racket Developers
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".
----------------------------------------------------------------------

* Racket CS remains ready for production use---thanks to those who have
been putting it into practice to help iron out the remaining
kinks---and it now supports a C API for embedding into other
applications. See the "Inside: Racket" documentation for details.

* DrRacket can recover much more quickly from errors involving large
stack traces.

* DrRacket now supports the use of the keyboard in the OS X Catalina
"Open File" dialog.

* Racket CS uses Stencil-Vector HAMTs, dramatically reducing the memory
required for immutable hash tables.

* Optimizations to the Racket CS compiler result in a code size savings
of approximately 20%.

* The net/http-client collection supports the 'deflate' content encoding.

* The `call-in-continuation` form (due to Marc Feeley) allows the
elimination of unnecessary thunk creation.

* GC callbacks are reliably called on major collections in Racket CS.
Also, Garbage collection is 10-20% faster.

* Call-with-current-language allows more reliable tests for language
level code.

* Use of the Cairo library can be multi-threaded.

* Improved documentation!

* Many bug fixes!


———————————————————————————————————


John Clements

unread,
Apr 29, 2020, 4:19:15 PM4/29/20
to John Clements, Racket Developers
D’oh! I used the word “now”.

> On Apr 29, 2020, at 1:07 PM, 'John Clements' via Racket Developers <racke...@googlegroups.com> wrote:
>
> 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".
> ----------------------------------------------------------------------
>
> * Racket CS remains ready for production use---thanks to those who have
> been putting it into practice to help iron out the remaining
> kinks---and it now supports a C API for embedding into other
> applications. See the "Inside: Racket" documentation for details.
>
> * DrRacket can recover much more quickly from errors involving large
> stack traces.
>
> * DrRacket now supports the use of the keyboard in the OS X Catalina
> "Open File" dialog.
>

* DrRacket supports the use of the keyboard in the OS X Catalina
"Open File" dialog.


> * Racket CS uses Stencil-Vector HAMTs, dramatically reducing the memory
> required for immutable hash tables.
>
> * Optimizations to the Racket CS compiler result in a code size savings
> of approximately 20%.
>
> * The net/http-client collection supports the 'deflate' content encoding.
>
> * The `call-in-continuation` form (due to Marc Feeley) allows the
> elimination of unnecessary thunk creation.
>
> * GC callbacks are reliably called on major collections in Racket CS.
> Also, Garbage collection is 10-20% faster.
>
> * Call-with-current-language allows more reliable tests for language
> level code.
>
> * Use of the Cairo library can be multi-threaded.
>
> * Improved documentation!
>
> * Many bug fixes!
>
>
> ———————————————————————————————————
>
>
> --
> 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 view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/fa85958a-ebdf-411f-9d34-f436adc79588%40mtasv.net.



Sam Tobin-Hochstadt

unread,
Apr 29, 2020, 4:46:08 PM4/29/20
to John Clements, Racket Developers
For the blog post version of the release notes, can we add some links,
such as to the "Inside: Racket" section, and to the documentation for
the various new forms?

Also, are stencil-vector implementations of HAMTs a new invention, or
is the some previous work on this we should mention?

Sam

On Wed, Apr 29, 2020 at 4:19 PM 'John Clements' via Racket Developers
<racke...@googlegroups.com> wrote:
>
> D’oh! I used the word “now”.
>
> > On Apr 29, 2020, at 1:07 PM, 'John Clements' via Racket Developers <racke...@googlegroups.com> wrote:
> >
> > 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".
> > ----------------------------------------------------------------------
> >
> > * Racket CS remains ready for production use---thanks to those who have
> > been putting it into practice to help iron out the remaining
> > kinks---and it now supports a C API for embedding into other
> > applications. See the "Inside: Racket" documentation for details.
> >
> > * DrRacket can recover much more quickly from errors involving large
> > stack traces.
> >
> > * DrRacket now supports the use of the keyboard in the OS X Catalina
> > "Open File" dialog.
> >
>
> * DrRacket supports the use of the keyboard in the OS X Catalina
> "Open File" dialog.
>
>
> > * Racket CS uses Stencil-Vector HAMTs, dramatically reducing the memory
> > required for immutable hash tables.
> >
> > * Optimizations to the Racket CS compiler result in a code size savings
> > of approximately 20%.
> >
> > * The net/http-client collection supports the 'deflate' content encoding.
> >
> > * The `call-in-continuation` form (due to Marc Feeley) allows the
> > elimination of unnecessary thunk creation.
> >
> > * GC callbacks are reliably called on major collections in Racket CS.
> > Also, Garbage collection is 10-20% faster.
> >
> > * Call-with-current-language allows more reliable tests for language
> > level code.
> >
> > * Use of the Cairo library can be multi-threaded.
> >
> > * Improved documentation!
> >
> > * Many bug fixes!
> >
> >
> > ———————————————————————————————————
> >
> >
> > --
> > 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 view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/fa85958a-ebdf-411f-9d34-f436adc79588%40mtasv.net.
>
>
>
> --
> 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 view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/dbd7e0a8-4a75-40c6-a88c-aa56eb7a0114%40mtasv.net.

Matthew Flatt

unread,
Apr 29, 2020, 5:55:45 PM4/29/20
to Sam Tobin-Hochstadt, John Clements, Racket Developers
At Wed, 29 Apr 2020 16:45:55 -0400, Sam Tobin-Hochstadt wrote:
> Also, are stencil-vector implementations of HAMTs a new invention, or
> is the some previous work on this we should mention?

"Stencil vector" is not a phrase anyone knows --- at least, I hope it
doesn't mean something I didn't intend --- since I picked it for a new
API in Chez Scheme. So, I'd drop "Stencil-Vector" from the bullet.


For this one,

> * The `call-in-continuation` form (due to Marc Feeley) allows the
> elimination of unnecessary thunk creation.

how about this?:

* The `call-in-continuation` function (like Marc Feeley's
`continuation-graft`) simplifies certain `call/cc` patterns by
calling a thunk in a restored continuation.

John Clements

unread,
Apr 29, 2020, 7:52:12 PM4/29/20
to Matthew Flatt, Sam Tobin-Hochstadt, Racket Developers
Okay a bunch of changes:

1) collected Racket CS changes at the top.
2) removed “stencil-vector” — that explains why my online search for “stencil-vector HAMTs” didn’t turn up much.
3) used rewritten bullet to include “continuation-graft” call-out.

4) Doc links are a good idea. I think the “right way” to handle this is to have a scribble language that generates both text and
blog text, but I know that setting that up will take me north of 2 hours. If anyone feels like … ugh, okay, let’s see what this looks
like. Sigh.

#lang at-exp racket

(require scribble/manual)

(define doc-root
"https://docs.racket-lang.org/" )

(define http-client-ref
"net/http-client.html?q=net%2Fhttp-client")

(define call-in-continuation-ref
"reference/cont.html?q=call-in-continuation#(def._((quote._~23~25kernel)._call-in-continuation))")

(define call-with-current-language-def
"string-constants/index.html?q=call-with-current-language#%28def._%28%28lib._string-constants%2Fstring-constant..rkt%29._call-with-current-language%29%29”)

(define (doc-link url-fragment text)
(link (string-append doc-root url-fragment) text))

@itemlist[
@item{Racket CS remains ready for production use---thanks to those who have
been putting it into practice to help iron out the remaining
kinks---and it now supports a C API for embedding into other
applications. See the "Inside: Racket" documentation for details.}

@item{Racket CS uses a new HAMT implementation, dramatically reducing the memory
required for immutable hash tables.}

@item{Optimizations to the Racket CS compiler result in a code size savings
of approximately 20%.}

@item{GC callbacks are reliably called on major collections in Racket CS.
Also, Garbage collection is 10-20% faster.}

@item{DrRacket can recover much more quickly from errors involving large
stack traces.}

@item{DrRacket now supports the use of the keyboard in the OS X Catalina
"Open File" dialog.}

@item{The
@doc-link[http-client-ref]{net/http-client collection} supports the `deflate`
content encoding.}

@item{The @doc-link[call-in-continuation-ref]{call-in-continuation}
function (like Marc Feeley's
`continuation-graft`) simplifies certain `call/cc` patterns by
calling a thunk in a restored continuation. }

@item{@doc-link[call-with-current-language-def]{Call-with-current-language}
allows more reliable tests for language level code.}

@item{Use of the Cairo library can be multi-threaded.}

@item{Improved documentation!}

@item{Many bug fixes!}]




Jesse Alama

unread,
Apr 30, 2020, 1:06:23 AM4/30/20
to Racket Developers
On Wednesday, April 29, 2020 at 10:07:29 PM UTC+2, clements wrote:

* DrRacket now supports the use of the keyboard in the OS X Catalina
  "Open File" dialog.

The preferred nomenclature is "macOS" (https://www.apple.com/macos/catalina/).

John Clements

unread,
May 2, 2020, 1:50:21 PM5/2/20
to Jesse Alama, Racket Developers
Thanks, changed!

John
> --
> 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 view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/d65d3c38-e880-42a8-ad5c-c5e9ac6f1de5%40googlegroups.com.



Philip McGrath

unread,
May 2, 2020, 3:41:11 PM5/2/20
to John Clements, Jesse Alama, Racket Developers
Not a big deal, but for posterity, Matthew wrote in the commit message for <https://github.com/racket/racket/commit/710320e>:
"Mac OS X" -> "Mac OS"
Although "macOS" is the correct name for Apple's current desktop OS,
we've decided to go with "Mac OS" to cover all of Apple's Unix-like
desktop OS versions. The label "Mac OS" is more readable, clear in
context (i.e., unlikely to be confused with the Mac OSes that
proceeded Mac OS X), and as likely to match Apple's future OS names
as anything.

(There was more discussion about this somewhere at the time, but I couldn't find it easily.)

Thanks for all the work getting out the release!

-Philip


Reply all
Reply to author
Forward
0 new messages