[racket-dev] Release Announcement for v5.2

2011-11-02 Thread Eli Barzilay
The release announcement sketch is finally ready, apologies for the
delay.  It should be close to being a final version, and I'll probably
proceed with the release tonight -- so if there are any issues with
it, please reply soon.
--
Racket version 5.2 is now available from

  http://racket-lang.org/

Release highlights:

* A new XREPL collection provides convenient commands for uses of
  plain racket.  It is particularly convenient for people who prefer
  console-based work and alternative editors.  See also the new
  chapter on command-line tools and other editors at the end of the
  Racket Guide.

* The new db library offers a high-level, functional interface to
  popular relational database systems, including PostgreSQL, MySQL,
  and SQLite, as well as other systems via ODBC.

* The `plot' collection has been completely re-implemented in
  Racket, and offers more functionality.  Some old code that uses
  `plot' will continue working, and some will need to use the
  `plot/compat' library.

* DrRacket uses more conventional key bindings: `C-t' creates a new
  tab, `C-w' closes the current one, and `C-r' runs the definitions.
  On Mac OS X, the Command key is used.  See Defining Custom
  Shortcuts in the DrRacket manual for an example that uses the old
  key bindings.

* The new `raco link' command registers a directory as a collection,
  which allows the collection directory to reside outside the
  collects tree and without changing the PLTCOLLECTS environment
  variable.

* Support for `begin-for-syntax' has been generalized; modules may
  now define and export both value bindings and syntax bindings
  (macros) at phase 1 and higher.

* Typed Racket:
  - Typed Racket provides static performance debugging support to
show which code gets optimized and point out code that does not.
Use the Performance Report button.
  - More intuitive types in printouts in the REPL and in error
messages.  Use `:query-result-type' to explore types, or
`:print-type' for a full printout.
  - Function definitions with optional arguments now work.

* Redex now supports specifying (and testing and automatically
  typesetting) judgment forms including type systems and SOS-style
  operational semantics.

* Fixed several GUI problems.

* Internal-definition expansion has changed to use `let*' semantics
  for sequences that contain no back references.  This change
  removes a performance penalty for using internal definitions
  instead of `let' in common cases, and it only changes the meaning
  of programs that capture continuations in internal definitions.
  Internal definitions are now considered preferable in style to
  `let'.


Additional items:

* DrRacket comes with an experimental, on-line check syntax
  function.  By default, it is turned off.  To turn it on, right
  click on the red circle in the buttom right corner of the DrRacket
  window.  Warning: turning this on makes DrRacket less stable.

* The `racket/gui' library (and Slideshow) provides more support for
  multiple-screen displays.

* DrRacket remembers whether an opened file used LF or CRLF line
  endings, and will continue using the same.  When creating a new
  file, a preference determines how it is saved.

* `net/url' can now follow HTTP redirections.

* The LNCS and JFP class files are no longer distributed with
  Racket.  Instead, they are downloaded on demand.

* The Algol language implementation is now available as other
  languages, use `#lang algol60' for Algol code.

* The Racket-to-C compiler (as accessed via `raco ctool' or `mzc')
  has been removed; Racket's JIT has long provided better
  performance, and the FFI provides better access to C libraries.

* Contracts can be applied to exports with the new `contract-out'
  form within `provide', instead of a separate `provide/contract'
  form.  (The new `contract-out' form is implemented as a new kind
  of provide pre-transformer.)

* The `date*' structure type is an extension of `date' with
  `nanosecond' and `time-zone-name' fields.

* New looping constructs: `for/sum' and `for/product'.

* Direct calls to keyword-accepting functions are now optimized to
  eliminate the overhead of keywords.  In addition, the compiler
  detects and logs warnings for keyword-argument mismatches.

* The `typed-scheme' collection was renamed to `typed-racket'.

* The libfit interface is available from `plot/deprecated/fit', and
  will be removed in the near future.

* The Unix installer has been re-done, and it is now more robust.

* The built-in reader and printer support for Honu is removed.
  (This functionality is re-implemented Racket.)

Feedback Welcome,
--
-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  For 

Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread Sam Tobin-Hochstadt
On Wed, Nov 2, 2011 at 11:06 AM, Eli Barzilay e...@barzilay.org wrote:

 * The new db library offers a high-level, functional interface to
  popular relational database systems, including PostgreSQL, MySQL,
  and SQLite, as well as other systems via ODBC.

I think this should go first, ahead of XREPL.

 * Typed Racket:
  - Typed Racket provides static performance debugging support to
    show which code gets optimized and point out code that does not.
    Use the Performance Report button.

add in DrRacket at the end here.

  - Function definitions with optional arguments now work.

Replace with Typed Racket now supports defining function with
optional arguments using the same syntax as Racket.

 * Fixed several GUI problems.

This should explicitly mention Ubuntu 11.10/GTK3, and go ahead of most
of the others.

 * DrRacket comes with an experimental, on-line check syntax
  function.  By default, it is turned off.  To turn it on, right
  click on the red circle in the buttom right corner of the DrRacket
  window.  Warning: turning this on makes DrRacket less stable.

This belongs in the major items category -- it's certainly more
significant than the changes to Typed Racket, for example.

 * The Algol language implementation is now available as other
  languages, use `#lang algol60' for Algol code.

The as here is confusing.

 * The `typed-scheme' collection was renamed to `typed-racket'.

This doesn't even belong in the release notes -- it has no user-visible impact.
-- 
sam th
sa...@ccs.neu.edu

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread Matthias Felleisen

On Nov 2, 2011, at 11:21 AM, Sam Tobin-Hochstadt wrote:

 On Wed, Nov 2, 2011 at 11:06 AM, Eli Barzilay e...@barzilay.org wrote:
 
 * The new db library offers a high-level, functional interface to
  popular relational database systems, including PostgreSQL, MySQL,
  and SQLite, as well as other systems via ODBC.
 
 I think this should go first, ahead of XREPL.

++1++


 
 * Typed Racket:
  - Typed Racket provides static performance debugging support to
show which code gets optimized and point out code that does not.
Use the Performance Report button.
 
 add in DrRacket at the end here.
 
  - Function definitions with optional arguments now work.
 
 Replace with Typed Racket now supports defining function with
 optional arguments using the same syntax as Racket.
 
 * Fixed several GUI problems.
 
 This should explicitly mention Ubuntu 11.10/GTK3, and go ahead of most
 of the others.
 
 * DrRacket comes with an experimental, on-line check syntax
  function.  By default, it is turned off.  To turn it on, right
  click on the red circle in the buttom right corner of the DrRacket
  window.  Warning: turning this on makes DrRacket less stable.
 
 This belongs in the major items category -- it's certainly more
 significant than the changes to Typed Racket, for example.
 
 * The Algol language implementation is now available as other
  languages, use `#lang algol60' for Algol code.
 
 The as here is confusing.
 
 * The `typed-scheme' collection was renamed to `typed-racket'.
 
 This doesn't even belong in the release notes -- it has no user-visible 
 impact.
 -- 
 sam th
 sa...@ccs.neu.edu
 
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread Vincent St-Amour
At Wed, 2 Nov 2011 11:21:24 -0400,
Sam Tobin-Hochstadt wrote:
  * DrRacket comes with an experimental, on-line check syntax
   function.  By default, it is turned off.  To turn it on, right
   click on the red circle in the buttom right corner of the DrRacket
   window.  Warning: turning this on makes DrRacket less stable.
 
 This belongs in the major items category -- it's certainly more
 significant than the changes to Typed Racket, for example.

+1

Near the top even. It's one of the most useful new features!

Vincent

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread Eli Barzilay
20 minutes ago, Sam Tobin-Hochstadt wrote:
 On Wed, Nov 2, 2011 at 11:06 AM, Eli Barzilay e...@barzilay.org wrote:
 
  * The new db library offers a high-level, functional interface to
   popular relational database systems, including PostgreSQL, MySQL,
   and SQLite, as well as other systems via ODBC.
 
 I think this should go first, ahead of XREPL.

Swapped.


  * Fixed several GUI problems.
 
 This should explicitly mention Ubuntu 11.10/GTK3, and go ahead of
 most of the others.

I'll leave this for Matthew to decide.  (There were a bunch of such
things.)


  * DrRacket comes with an experimental, on-line check syntax
function.  By default, it is turned off.  To turn it on, right
click on the red circle in the buttom right corner of the
DrRacket window.  Warning: turning this on makes DrRacket less
stable.
 
 This belongs in the major items category -- it's certainly more
 significant than the changes to Typed Racket, for example.

It's there intentionally -- so I'll leave it for Robby's decision.


  * The Algol language implementation is now available as other
   languages, use `#lang algol60' for Algol code.
 
 The as here is confusing.

I'll take an edit.


  * The `typed-scheme' collection was renamed to `typed-racket'.
 
 This doesn't even belong in the release notes -- it has no
 user-visible impact.

Gone.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread Matthew Flatt
At Wed, 2 Nov 2011 11:50:25 -0400, Eli Barzilay wrote:
 20 minutes ago, Sam Tobin-Hochstadt wrote:
   * Fixed several GUI problems.
  
  This should explicitly mention Ubuntu 11.10/GTK3, and go ahead of
  most of the others.
 
 I'll leave this for Matthew to decide.  (There were a bunch of such
 things.)


 * Fixed several GUI problems, including problems on Ubuntu 11.10 (GTK+
   3) and 64-bit Mac OS X.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread Neil Toronto

On 11/02/2011 09:06 AM, Eli Barzilay wrote:

The release announcement sketch is finally ready, apologies for the
delay.  It should be close to being a final version, and I'll probably
proceed with the release tonight -- so if there are any issues with
it, please reply soon.
--
Racket version 5.2 is now available from

   http://racket-lang.org/

Release highlights:

...

* The `plot' collection has been completely re-implemented in
   Racket, and offers more functionality.  Some old code that uses
   `plot' will continue working, and some will need to use the
   `plot/compat' library.


Can we go with this?

* The `plot' collection has been reimplemented in Racket. It now
   offers PDF output, log axes, histograms, and more. Some code that
   uses `plot' will still work, and some will need light porting. The
   `plot/compat' module offers expedient backward compatibility.

This names some of the new features, mentions porting, and frowns 
slightly upon using `plot/compat'. :)


Neil T
_
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread James McCoy
On Wed, Nov 2, 2011 at 11:06 AM, Eli Barzilay e...@barzilay.org wrote:
 * A new XREPL collection provides convenient commands for uses of
  plain racket.

Is that supposed to be commands for users?

-- 
James
GPG Key: 1024D/61326D40 2003-09-02 James McCoy james...@debian.org

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

[racket-dev] Release Announcement for v5.2, second call

2011-11-02 Thread Eli Barzilay
All edits are in this version.

--
Release highlights:

* The new `db' library offers a high-level, functional interface to
  popular relational database systems, including PostgreSQL, MySQL,
  and SQLite, as well as other systems via ODBC.

* A new XREPL collection provides convenient commands for a plain
  racket REPL.  It is particularly convenient for people who prefer
  console-based work and alternative editors.  See also the new
  chapter on command-line tools and other editors at the end of the
  Racket Guide.

* The `plot' collection has been reimplemented in Racket.  It now
  offers PDF output, log axes, histograms, and more.  Some code that
  uses `plot' will still work, and some will need light porting.
  The `plot/compat' module offers expedient backward compatibility.

* DrRacket uses more conventional key bindings: `C-t' creates a new
  tab, `C-w' closes the current one, and `C-r' runs the definitions.
  On Mac OS X, the Command key is used.  See Defining Custom
  Shortcuts in the DrRacket manual for an example that uses the old
  key bindings.

* The new `raco link' command registers a directory as a collection,
  which allows the collection directory to reside outside the
  collects tree and without changing the PLTCOLLECTS environment
  variable.

* Support for `begin-for-syntax' has been generalized; modules may
  now define and export both value bindings and syntax bindings
  (macros) at phase 1 and higher.

* Typed Racket:
  - Typed Racket provides static performance debugging support to
show which code gets optimized and point out code that does not.
Use the Performance Report button in DrRacket.
  - More intuitive types in printouts in the REPL and in error
messages.  Use `:query-result-type' to explore types, or
`:print-type' for a full printout.
  - Function definitions with optional arguments now work.
  - Typed Racket now supports defining function with optional
arguments using the same syntax as Racket.

* Redex now supports specifying (and testing and automatically
  typesetting) judgment forms including type systems and SOS-style
  operational semantics.

* Fixed several GUI problems, including problems on Ubuntu 11.10
  (GTK+ 3) and 64-bit Mac OS X.

* Internal-definition expansion has changed to use `let*' semantics
  for sequences that contain no back references.  This change
  removes a performance penalty for using internal definitions
  instead of `let' in common cases, and it only changes the meaning
  of programs that capture continuations in internal definitions.
  Internal definitions are now considered preferable in style to
  `let'.


Additional items:

* DrRacket comes with an experimental, on-line check syntax
  function.  By default, it is turned off.  To turn it on, right
  click on the red circle in the buttom right corner of the DrRacket
  window.  Warning: turning this on makes DrRacket less stable.

* The `racket/gui' library (and Slideshow) provides more support for
  multiple-screen displays.

* DrRacket remembers whether an opened file used LF or CRLF line
  endings, and will continue using the same.  When creating a new
  file, a preference determines how it is saved.

* `net/url' can now follow HTTP redirections.

* The LNCS and JFP class files are no longer distributed with
  Racket.  Instead, they are downloaded on demand.

* The Algol language implementation is now available as a plain
  language using `#lang algol60'.

* The Racket-to-C compiler (as accessed via `raco ctool' or `mzc')
  has been removed; Racket's JIT has long provided better
  performance, and the FFI provides better access to C libraries.

* Contracts can be applied to exports with the new `contract-out'
  form within `provide', instead of a separate `provide/contract'
  form.  (The new `contract-out' form is implemented as a new kind
  of provide pre-transformer.)

* The `date*' structure type is an extension of `date' with
  `nanosecond' and `time-zone-name' fields.

* New looping constructs: `for/sum' and `for/product'.

* Direct calls to keyword-accepting functions are now optimized to
  eliminate the overhead of keywords.  In addition, the compiler
  detects and logs warnings for keyword-argument mismatches.

* The libfit interface is available from `plot/deprecated/fit', and
  will be removed in the near future.

* The Unix installer has been re-done, and it is now more robust.

* The built-in reader and printer support for Honu is removed.
  (This functionality is re-implemented in Racket.)
--
-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Release Announcement for v5.2, second call

2011-11-02 Thread Eli Barzilay
Just now, Sam Tobin-Hochstadt wrote:
 On Wed, Nov 2, 2011 at 5:24 PM, Eli Barzilay e...@barzilay.org wrote:
 
  * The `plot' collection has been reimplemented in Racket.  It now
   offers PDF output, log axes, histograms, and more.  Some code that
   uses `plot' will still work, and some will need light porting.
   The `plot/compat' module offers expedient backward compatibility.
 
 offers full backward compatibility.

Defer to Neil: IIUC, it's not full.


   - Typed Racket now supports defining function with optional
     arguments using the same syntax as Racket.
 
  * Fixed several GUI problems, including problems on Ubuntu 11.10
   (GTK+ 3) and 64-bit Mac OS X.
 
 This should go right after 'raco link'.

Any reason?  (I've put it near the end since it's not really something
that has new functionality like the others in the `raco link'
neighborhood.)

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Release Announcement for v5.2, second call

2011-11-02 Thread Sam Tobin-Hochstadt
On Wed, Nov 2, 2011 at 5:31 PM, Eli Barzilay e...@barzilay.org wrote:

   - Typed Racket now supports defining function with optional
     arguments using the same syntax as Racket.

  * Fixed several GUI problems, including problems on Ubuntu 11.10
   (GTK+ 3) and 64-bit Mac OS X.

 This should go right after 'raco link'.

 Any reason?  (I've put it near the end since it's not really something
 that has new functionality like the others in the `raco link'
 neighborhood.)

Just because it's a significant bug fix -- without it, we look pretty
bad, and we should alert our users that it's fixed.

-- 
sam th
sa...@ccs.neu.edu

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Release Announcement for v5.2, second call

2011-11-02 Thread Eli Barzilay
A few minutes ago, Sam Tobin-Hochstadt wrote:
 On Wed, Nov 2, 2011 at 5:31 PM, Eli Barzilay e...@barzilay.org wrote:
 
    - Typed Racket now supports defining function with optional
      arguments using the same syntax as Racket.
 
   * Fixed several GUI problems, including problems on Ubuntu
 11.10 (GTK+ 3) and 64-bit Mac OS X.
 
  This should go right after 'raco link'.
 
  Any reason?  (I've put it near the end since it's not really
  something that has new functionality like the others in the `raco
  link' neighborhood.)
 
 Just because it's a significant bug fix -- without it, we look
 pretty bad, and we should alert our users that it's fixed.

OK, but the information is still there -- and I prefer coherent text.

Anyone cares to second either side?

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Release Announcement for v5.2

2011-11-02 Thread Robby Findler
On Wed, Nov 2, 2011 at 10:50 AM, Eli Barzilay e...@barzilay.org wrote:
  * DrRacket comes with an experimental, on-line check syntax
    function.  By default, it is turned off.  To turn it on, right
    click on the red circle in the buttom right corner of the
    DrRacket window.  Warning: turning this on makes DrRacket less
    stable.

 This belongs in the major items category -- it's certainly more
 significant than the changes to Typed Racket, for example.

 It's there intentionally -- so I'll leave it for Robby's decision.


It is a significant feature, but also disabled by default for now. So
I think near the top of the list or not in the list at all are
appropriate places for it.

Robby

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] Release Announcement for v5.2, second call

2011-11-02 Thread Neil Toronto

On 11/02/2011 03:31 PM, Eli Barzilay wrote:

Just now, Sam Tobin-Hochstadt wrote:

On Wed, Nov 2, 2011 at 5:24 PM, Eli Barzilaye...@barzilay.org  wrote:


* The `plot' collection has been reimplemented in Racket.  It now
  offers PDF output, log axes, histograms, and more.  Some code that
  uses `plot' will still work, and some will need light porting.
  The `plot/compat' module offers expedient backward compatibility.


offers full backward compatibility.


Defer to Neil: IIUC, it's not full.


That's correct. I didn't emulate `plot/extend'. (Not that it's a big deal.)

Also, expedient is like convenient or practical, but connotes 
suboptimality at best and immorality at worst. It's exactly the right word.


Neil T
_
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev