Release Announcement for v6.4

96 views
Skip to first unread message

Vincent St-Amour

unread,
Jan 25, 2016, 1:24:17 PM1/25/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".
----------------------------------------------------------------------

general:
- HTTPS (for pkg catalog, and others)

mflatt:
- incremental GC (ba8103bbde441e38df8dce16e6cbfd36f72c1ce0)
- add `internal-definition-context-{binding-identifier,track}` (0e16ce4be)
- deterministic bytecode generation (2743ea06bbc and others)
- `procedure-specialize` (db0a6de1d2d5d3059ec971275b287860c5bda6e2)
- openssl 'secure protocol (92f1bfa4d23e0a691778b814a5956c849bb3af83)
- libssl on Mac (273bc4ea4914cbe73bbb343015cc4fdeb3a1c6a4)
- windows code signing (666c5f1557703ed24272387f9272321ded2ecf7f)

robby:
- contract performance improvements (various)
- racket/contract/combinator exports cleanup (99d7ad56d954)

jay:
- `read-cdot` and related parameters (551e4d5a0d395)
- doc categories (2e34599ce37068072a98d8b14a3065bfc31848b5)
- cheat sheet

asumu:
- Make id-table API more hash-like (14d25abd 92fc1f41)

stamourv:
- additions to `racket/random`

Juan Francisco Cantero Hurtado:
- Add config for linux/ppc64. (e957a7d6557f9718ba8493c20675b75a1145084a)

Alex Knauth:
- Allow separate read and write contracts for box/c (67e3899272792c2e5)


Other repos:

redex:
- robby / Paul Stansifer: binding specifications (6410411)

scribble:
- mflatt: scribble/examples (50f835c)
- florence: allow manipulation of scribble.tex imports (2881ef2)

plot:
- bennn: jitter (fc4f7e2)

pict:
- florence: pict/convertible changes (b95113d)
- stamourv: codeblock-pict (29806e2)

typed racket:
- contract performance improvements
- typechecking performance improvements

profile / contract profile:
- stamourv: add raco profile / raco contract-profile
- stamourv: overhaul contract-profile output

htdp:
- mflatt: performance improvements for world from incremental GC?

drracket:
- robby: anything major?

gui:
- avoid using high-power GPU on Mac?
- scrolling speed improvements?

string-constants:
- robby / Alexander Shopov: Added bulgarian translation (fb04c62)

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

Juan Francisco Cantero Hurtado

unread,
Jan 25, 2016, 5:32:48 PM1/25/16
to racke...@googlegroups.com
This change is very simple. Feel free to omit it.

Vincent St-Amour

unread,
Jan 25, 2016, 5:47:01 PM1/25/16
to Juan Francisco Cantero Hurtado, racke...@googlegroups.com
On Mon, 25 Jan 2016 16:32:41 -0600,
Juan Francisco Cantero Hurtado wrote:
>
> On 25/01/16 19:24, Vincent St-Amour wrote:
> > Juan Francisco Cantero Hurtado:
> > - Add config for linux/ppc64. (e957a7d6557f9718ba8493c20675b75a1145084a)
>
> This change is very simple. Feel free to omit it.

Maybe I'm misunderstanding this change, but it looks like it's adding
support for a previously-unsupported platform. Is that the case? If so,
I think it's worth including. If not, then I agree with you.

Vincent

Benjamin Greenman

unread,
Jan 25, 2016, 5:51:11 PM1/25/16
to Vincent St-Amour, d...@racket-lang.org
Worth mentioning `combinations` and `in-combinations`?


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

Juan Francisco Cantero Hurtado

unread,
Jan 25, 2016, 6:30:41 PM1/25/16
to Vincent St-Amour, racke...@googlegroups.com
The support was there (C interpreter without JIT) but sconfig.h was
enabling wrongly the powerpc JIT which only supports the traditional 32
bits powerpc architecture.

The work on the OpenBSD/sparc64 support was harder by far because I
tried every option until Racket passed the tests. Even in that case, I
think that the mention is unnecessary.

IMHO, only worth to mention the support for new architectures when it
includes JIT support. In short, in my experience any architecture, which
runs a supported OS, is supported by the C interpreter (with the
exception of hppa/itanium due to the weird stack growth direction).


--
Juan Francisco Cantero Hurtado http://juanfra.info

Vincent St-Amour

unread,
Jan 25, 2016, 10:12:35 PM1/25/16
to Juan Francisco Cantero Hurtado, Vincent St-Amour, racke...@googlegroups.com
Ah, in that case nevermind.

Thanks for the clarification!

Vincent



On Mon, 25 Jan 2016 17:30:38 -0600,

Robby Findler

unread,
Jan 26, 2016, 12:06:54 AM1/26/16
to Vincent St-Amour, d...@racket-lang.org
For mine:

- Redex supports binding specifications; describe which variables
bind in which expressions and your metafunctions and reduction
relations automatically become scope-sensitive. Thanks to Paul
Stansifer for this improvement.

- DrRacket's scrolling is faster.

Robby

Matthew Flatt

unread,
Jan 26, 2016, 8:42:57 AM1/26/16
to Vincent St-Amour, d...@racket-lang.org
At Mon, 25 Jan 2016 12:24:15 -0600, Vincent St-Amour wrote:
> mflatt:
> - incremental GC (ba8103bbde441e38df8dce16e6cbfd36f72c1ce0)

* Incremental garbage-collection mode can eliminate long pauses in a
program. For example, incremental mode is useful for avoiding pauses
in games and animations.

Programs must specifically request incremental mode with
`(collect-garbage 'incremental)`, but libraries such as
`2htdp/universe` include the request as part of the library's
implementation.

> - add `internal-definition-context-{binding-identifier,track}` (0e16ce4be)
> - deterministic bytecode generation (2743ea06bbc and others)
> - `procedure-specialize` (db0a6de1d2d5d3059ec971275b287860c5bda6e2)

I don't think these need an entry.


> - openssl 'secure protocol (92f1bfa4d23e0a691778b814a5956c849bb3af83)
> - libssl on Mac (273bc4ea4914cbe73bbb343015cc4fdeb3a1c6a4)

* The default package catalog is an HTTPS address instead of HTTP, and
package operations properly validate server certificates when using
HTTPS.


> - windows code signing (666c5f1557703ed24272387f9272321ded2ecf7f)

Nothing to mention here. (Version 6.3 was signed for Windows, and that
change just adapts the build infrastructure to better automate signing.)


> scribble:
> - mflatt: scribble/examples (50f835c)

This seems too small for the release announcement.


> htdp:
> - mflatt: performance improvements for world from incremental GC?

Covered above.


> gui:
> - avoid using high-power GPU on Mac?
> - scrolling speed improvements?

The former is a bug fix, and Robby has covered the latter.

Jay McCarthy

unread,
Jan 26, 2016, 11:50:06 AM1/26/16
to Vincent St-Amour, dev
On Mon, Jan 25, 2016 at 1:24 PM, Vincent St-Amour
<stam...@eecs.northwestern.edu> 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".
> ----------------------------------------------------------------------
> jay:
> - `read-cdot` and related parameters (551e4d5a0d395)

(I'm fine leaving this out until it is more exciting.)

Various parameters were added (`read-cdot`,
`read-square-bracket-with-tag`, and `read-curly-brace-with-tag`) were
added to support C-style syntax in parallel with traditional
S-expressions for Remix.

> - doc categories (2e34599ce37068072a98d8b14a3065bfc31848b5)

Documentation may define their own categories for the manual top-level
page by using strings, rather than only symbols that name pre-defined
categories.

> - cheat sheet

The Racket cheat sheet is included in the main distribution.

--
Jay McCarthy
Associate Professor
PLT @ CS @ UMass Lowell
http://jeapostrophe.github.io

"Wherefore, be not weary in well-doing,
for ye are laying the foundation of a great work.
And out of small things proceedeth that which is great."
- D&C 64:33

Asumu Takikawa

unread,
Jan 26, 2016, 12:19:36 PM1/26/16
to Vincent St-Amour, d...@racket-lang.org
On 2016-01-25 12:24:15 -0600, Vincent St-Amour wrote:
> asumu:
> - Make id-table API more hash-like (14d25abd 92fc1f41)

This one seems minor so I don't think it's needed.

If you do include, here's a blurb:

* Identifier tables support more operations that are analogous
to those for hashtables.

Cheers,
Asumu

Vincent St-Amour

unread,
Jan 26, 2016, 1:20:55 PM1/26/16
to Jay McCarthy, Vincent St-Amour, dev
On Tue, 26 Jan 2016 10:50:05 -0600,
Jay McCarthy wrote:
>
> On Mon, Jan 25, 2016 at 1:24 PM, Vincent St-Amour
> <stam...@eecs.northwestern.edu> 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".
> > ----------------------------------------------------------------------
> > jay:
> > - `read-cdot` and related parameters (551e4d5a0d395)
>
> (I'm fine leaving this out until it is more exciting.)
>
> Various parameters were added (`read-cdot`,
> `read-square-bracket-with-tag`, and `read-curly-brace-with-tag`) were
> added to support C-style syntax in parallel with traditional
> S-expressions for Remix.

Ok, let's wait for a future release then.

Vincent

Vincent St-Amour

unread,
Jan 26, 2016, 1:23:55 PM1/26/16
to Benjamin Greenman, Vincent St-Amour, d...@racket-lang.org
Probably not. It looks like we won't be mentioning individual new
bindings.

Vincent

Alex Knauth

unread,
Jan 26, 2016, 1:40:56 PM1/26/16
to Vincent St-Amour, d...@racket-lang.org

> On Jan 25, 2016, at 1:24 PM, Vincent St-Amour <stam...@eecs.northwestern.edu> 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".
> ----------------------------------------------------------------------

> Alex Knauth:
> - Allow separate read and write contracts for box/c (67e3899272792c2e5)


Does this work?

Box contracts allow separate contracts for controlling reading from and writing to the box, which lets contracts make writing to a box more restrictive than reading from the same box.

Vincent St-Amour

unread,
Jan 26, 2016, 2:48:06 PM1/26/16
to Alex Knauth, Vincent St-Amour, d...@racket-lang.org
Yep, that's perfect!

It does look, though, that we may not be including small changes like
this one in the release notes after all. My mistake.

Anyone has thoughts on the topic?

Vincent

Sam Tobin-Hochstadt

unread,
Jan 27, 2016, 7:43:56 PM1/27/16
to Vincent St-Amour, d...@racket-lang.org
For Typed Racket:

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

The contract generated for the `Any` type is now more permissive,
allowing more typed/untyped programs to work without contract errors.

Sam

On Mon, Jan 25, 2016 at 1:24 PM, Vincent St-Amour
<stam...@eecs.northwestern.edu> 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".
> ----------------------------------------------------------------------
>
> general:
> - HTTPS (for pkg catalog, and others)
>
> mflatt:
> - incremental GC (ba8103bbde441e38df8dce16e6cbfd36f72c1ce0)
> - add `internal-definition-context-{binding-identifier,track}` (0e16ce4be)
> - deterministic bytecode generation (2743ea06bbc and others)
> - `procedure-specialize` (db0a6de1d2d5d3059ec971275b287860c5bda6e2)
> - openssl 'secure protocol (92f1bfa4d23e0a691778b814a5956c849bb3af83)
> - libssl on Mac (273bc4ea4914cbe73bbb343015cc4fdeb3a1c6a4)
> - windows code signing (666c5f1557703ed24272387f9272321ded2ecf7f)
>
> robby:
> - contract performance improvements (various)
> - racket/contract/combinator exports cleanup (99d7ad56d954)
>
> jay:
> - `read-cdot` and related parameters (551e4d5a0d395)
> - doc categories (2e34599ce37068072a98d8b14a3065bfc31848b5)
> - cheat sheet
>
> asumu:
> - Make id-table API more hash-like (14d25abd 92fc1f41)
>
> stamourv:
> - additions to `racket/random`
>
> Juan Francisco Cantero Hurtado:
> - Add config for linux/ppc64. (e957a7d6557f9718ba8493c20675b75a1145084a)
>
> Alex Knauth:
> - Allow separate read and write contracts for box/c (67e3899272792c2e5)
>
>

Robby Findler

unread,
Jan 27, 2016, 8:00:07 PM1/27/16
to Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
I think we might want to add a grain of salt to that part of the
announcement. People shouldn't expect radically improved performance
for, say, programs using the math library. It gets better in some
cases, but I feel like we need something that's a bit more uniformly
better before saying too much.

So I would either say nothing, or I would add some more qualifications
or specificity or something.

Robby
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAK%3DHD%2BaewTj9APKnhbgiAidxN%3DPftC%3DyM-fi1NbHjA06suzp6A%40mail.gmail.com.

Matthew Flatt

unread,
Jan 27, 2016, 9:17:59 PM1/27/16
to Robby Findler, Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org
Since the improvements so far would need explanation, and since further
improvements are still in progress (especially relative to the v6.4
branch), a separate message to the mailing list --- or a blog post? ---
seems better than a bullet in the release announcement.
> https://groups.google.com/d/msgid/racket-dev/CAL3TdOMbWHYAKO0%3DqWLtDrNmU%2B-Mh
> Q8tYvhWQzXLtVwaFEABog%40mail.gmail.com.

Matthias Felleisen

unread,
Jan 27, 2016, 10:18:40 PM1/27/16
to Matthew Flatt, Robby Findler, Sam Tobin-Hochstadt, Vincent St-Amour, d...@racket-lang.org

Vincent St-Amour

unread,
Jan 27, 2016, 10:41:03 PM1/27/16
to d...@racket-lang.org
Thank you all for responding.

A draft announcement is below. Comments welcome.

Vincent


- Incremental garbage-collection mode can eliminate long pauses in a
program. For example, incremental mode is useful for avoiding pauses
in games and animations.

Programs must specifically request incremental mode with
`(collect-garbage 'incremental)`, but libraries such as
`2htdp/universe` include the request as part of the library's
implementation.

- The default package catalog is an HTTPS address instead of HTTP, and
package operations properly validate server certificates when using
HTTPS.

- Documentation may define their own categories for the manual top-
level page by using strings, rather than only symbols that name
pre-defined categories.

- DrRacket's scrolling is faster.

- The Racket cheat sheet is included in the main distribution.

- DrRacket is available in Bulgarian, thanks to Alexander Shopov.

- The contract Typed Racket generates for the `Any` type is more
permissive, allowing more typed/untyped programs to work without
contract errors.

- Redex supports binding specifications; describe which variables bind
in which expressions and your metafunctions and reduction relations
automatically become scope-sensitive. Thanks to Paul Stansifer for
this improvement.

- All `pict` functions accept `pict-convertible`s. This allows for
transparent interoperability between `pict` and libraries like
`2htdp/image`.

- The `raco profile` and `raco contract-profile` commands provide easy
access to profiling tools, without requiring program modifications.
Reply all
Reply to author
Forward
0 new messages