[racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Ryan Culpepper

Below is the second draft of the release announcement items for
v5.3. Let me know if I've missed something.

* Submodules are nested module declarations that can be loaded and
  run independently from the enclosing module.  For an overview of
  submodules, see

http://blog.racket-lang.org/2012/06/submodules.html

* The futures visualizer is a graphical profiling tool for parallel
  programs using futures.  The tool shows a detailed execution
  timeline depicting the migration of futures between threads, and
  gives detailed information about each runtime synchronization that
  occurred during program execution.  In addition, `would-be-future'
  is a special type of future that always executes sequentially and
  records all potential barricades a regular future would encounter.

* Optimization Coach (formerly Performance Report) reports information
  about Racket's inlining optimizations.  Optimization Coach can be
  launched in any language through the View menu.

* The API for fast floating-point bitmaps (flomaps) supports image
  processing operations, including pointwise arithmetic, gradients,
  blur, resizing with correct downsampling, arbitrary spatial
  transformations, and pict-like combiners.

* A new `json' library (derived from Dave Herman's PLaneT library) for
  parsing and generating JSON comes with the distribution.

* `racket/string' is extended with string manipulation functions that
  avoid some basic regexp tweaks. `regexp-match*' and friends come with
  new keyword arguments to return specific matched group/s and gaps.

* The new `racket/generic' library allows generic function definitions,
  which dispatch to methods added to a structure type via the new
  `#:methods' keyword.

* The `class' form supports declaring a method abstract.  An abstract
  method prevents a class from being instantiated unless it is
  overridden.

* The contract library comes with support for interfaces, generics,
  prompts, continuation-marks, and structs.

* Most error messages use a new multi-line format that is more
  consistent with contract errors and accommodates more information.

* Typed Racket supports function definitions with keyword arguments;
  the startup time of Typed Racket programs has been sharply reduced.

* A new `ffi/com' library replaces MysterX; a compatibility
  `mysterx' library remains, but without ActiveX support.  The new
  `ffi/unsafe/com' library offers a more primitive and direct way to
  use COM classes and methods.

* There is now a very complete completion code for zsh.  It is not
  included in the distribution though, get it at: http://goo.gl/DU8JK
  (This script and the bash completions will be included in the
  standard installers in future versions.)

* The `tex2page' and `combinator-parser' libraries have been moved
  from the Racket distribution to PLaneT.

=== DEPRECATION ==

The following have been deprecated and will be removed in the
January 2013 release:

  - the `planet' command-line tool. Use `raco planet' instead.

The following have been deprecated and will be removed in the
August 2013 release:

  - the `mzlib/class100' library. Use `racket/class' instead.
  - the `define-contract-struct' form. Use `struct' with `struct/dc'
contracts instead.
_
 Racket Developers list:
 http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Sam Tobin-Hochstadt
On Wed, Aug 1, 2012 at 8:34 AM, Ryan Culpepper r...@cs.utah.edu wrote:

 * There is now a very complete completion code for zsh.  It is not
   included in the distribution though, get it at: http://goo.gl/DU8JK
   (This script and the bash completions will be included in the
   standard installers in future versions.)

First, this link is broken.

Second, I think we should *not* use URL shorteners here.  There's no
need to add another point of failure.  If the link is too long, put it
in a footnote.

 * The `tex2page' and `combinator-parser' libraries have been moved
   from the Racket distribution to PLaneT.

This should include the URLs to the planet packages, and perhaps the
`require` lines.

 The following have been deprecated and will be removed in the
 August 2013 release:

   - the `define-contract-struct' form. Use `struct' with `struct/dc'
 contracts instead.

This entry surprises me.  Has it been discussed on the list?
`define-contract-struct` has rather different semantics, right?
-- 
sam th
sa...@ccs.neu.edu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Asumu Takikawa
On 2012-08-01 09:44:13 -0400, Sam Tobin-Hochstadt wrote:
  * The `tex2page' and `combinator-parser' libraries have been moved
from the Racket distribution to PLaneT.
 
 This should include the URLs to the planet packages, and perhaps the
 `require` lines.

For convenience:

  
http://planet.racket-lang.org/display.ss?package=combinator-parser.pltowner=plt
  http://planet.racket-lang.org/display.ss?package=tex2page.pltowner=plt

  (require (planet plt/tex2page))
  (require (planet plt/combinator-parser))

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Robby Findler
On Wed, Aug 1, 2012 at 8:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote:
 The following have been deprecated and will be removed in the
 August 2013 release:

   - the `define-contract-struct' form. Use `struct' with `struct/dc'
 contracts instead.

 This entry surprises me.  Has it been discussed on the list?
 `define-contract-struct` has rather different semantics, right?

What difference are you thinking of?

Robby
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Sam Tobin-Hochstadt
On Wednesday, August 1, 2012, Robby Findler wrote:

 On Wed, Aug 1, 2012 at 8:44 AM, Sam Tobin-Hochstadt 
 sa...@ccs.neu.edujavascript:;
 wrote:
  The following have been deprecated and will be removed in the
  August 2013 release:
 
- the `define-contract-struct' form. Use `struct' with `struct/dc'
  contracts instead.
 
  This entry surprises me.  Has it been discussed on the list?
  `define-contract-struct` has rather different semantics, right?

 What difference are you thinking of?


`struct/dc` uses impersonators/chaperones to place contracts on the actual
structure instances, whereas `define-contract-struct` wraps the
accessor/constructor procedures, right?

Sam





-- 
sam th
sa...@ccs.neu.edu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Robby Findler
On Wed, Aug 1, 2012 at 9:47 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote:
 On Wednesday, August 1, 2012, Robby Findler wrote:

 On Wed, Aug 1, 2012 at 8:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu
 wrote:
  The following have been deprecated and will be removed in the
  August 2013 release:
 
- the `define-contract-struct' form. Use `struct' with `struct/dc'
  contracts instead.
 
  This entry surprises me.  Has it been discussed on the list?
  `define-contract-struct` has rather different semantics, right?

 What difference are you thinking of?


 `struct/dc` uses impersonators/chaperones to place contracts on the actual
 structure instances, whereas `define-contract-struct` wraps the
 accessor/constructor procedures, right?

No, that's wrong. struct/dc is like define-contract-struct. Check out
the docs or the IFL 2007 paper on my pubs web page.

Robby
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Sam Tobin-Hochstadt
On Wed, Aug 1, 2012 at 10:52 AM, Robby Findler
ro...@eecs.northwestern.edu wrote:
 On Wed, Aug 1, 2012 at 9:47 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote:
 On Wednesday, August 1, 2012, Robby Findler wrote:

 On Wed, Aug 1, 2012 at 8:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu
 wrote:
  The following have been deprecated and will be removed in the
  August 2013 release:
 
- the `define-contract-struct' form. Use `struct' with `struct/dc'
  contracts instead.
 
  This entry surprises me.  Has it been discussed on the list?
  `define-contract-struct` has rather different semantics, right?

 What difference are you thinking of?


 `struct/dc` uses impersonators/chaperones to place contracts on the actual
 structure instances, whereas `define-contract-struct` wraps the
 accessor/constructor procedures, right?

 No, that's wrong. struct/dc is like define-contract-struct. Check out
 the docs or the IFL 2007 paper on my pubs web page.

Ah, I see.  Sorry about that.

-- 
sam th
sa...@ccs.neu.edu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Robby Findler
On Wed, Aug 1, 2012 at 8:44 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote:
 The following have been deprecated and will be removed in the
 August 2013 release:

   - the `define-contract-struct' form. Use `struct' with `struct/dc'
 contracts instead.

 This entry surprises me.  Has it been discussed on the list?

Alright, perhaps it is better to just move the documentation to the
compatibility manual instead of removing the implementation. The
maintenance burden is probably not high enough to justify breaking
others' programs.

Ryan: can you remove this line from the release notes, please?

Robby
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Neil Toronto

On 08/01/2012 05:34 AM, Ryan Culpepper wrote:

* The API for fast floating-point bitmaps (flomaps) supports image
   processing operations, including pointwise arithmetic, gradients,
   blur, resizing with correct downsampling, arbitrary spatial
   transformations, and pict-like combiners.


This needs to mention Typed Racket. How about this?

The new `images/flomap' library defines floating-point images and fast 
operations on them, including pointwise arithmetic, gradients, blur, 
resizing with correct downsampling, arbitrary spatial transformations, 
and pict-like combiners. It is written in Typed Racket, so Typed Racket 
code may use it without the cost of contract checks.


Neil ⊥

_
 Racket Developers list:
 http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Robby Findler
How about this:

 * The API for fast floating-point bitmaps (flomaps) supports image
processing operations. It is written in Typed Racket, so Typed
Racket code may use it without the cost of contract checks.

?

Robby

On Wed, Aug 1, 2012 at 11:05 AM, Neil Toronto neil.toro...@gmail.com wrote:
 On 08/01/2012 05:34 AM, Ryan Culpepper wrote:

 * The API for fast floating-point bitmaps (flomaps) supports image
processing operations, including pointwise arithmetic, gradients,
blur, resizing with correct downsampling, arbitrary spatial
transformations, and pict-like combiners.


 This needs to mention Typed Racket. How about this?

 The new `images/flomap' library defines floating-point images and fast
 operations on them, including pointwise arithmetic, gradients, blur,
 resizing with correct downsampling, arbitrary spatial transformations, and
 pict-like combiners. It is written in Typed Racket, so Typed Racket code may
 use it without the cost of contract checks.

 Neil ⊥


 _
  Racket Developers list:
  http://lists.racket-lang.org/dev

_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Matthias Felleisen

How about 

 * The Typed Racket API for fast floating-point bitmaps (flomaps) 
   supports a range of image process operations. See docs for details. 


On Aug 1, 2012, at 12:07 PM, Robby Findler wrote:

 How about this:
 
 * The API for fast floating-point bitmaps (flomaps) supports image
processing operations. It is written in Typed Racket, so Typed
Racket code may use it without the cost of contract checks.
 
 ?
 
 Robby
 
 On Wed, Aug 1, 2012 at 11:05 AM, Neil Toronto neil.toro...@gmail.com wrote:
 On 08/01/2012 05:34 AM, Ryan Culpepper wrote:
 
 * The API for fast floating-point bitmaps (flomaps) supports image
   processing operations, including pointwise arithmetic, gradients,
   blur, resizing with correct downsampling, arbitrary spatial
   transformations, and pict-like combiners.
 
 
 This needs to mention Typed Racket. How about this?
 
 The new `images/flomap' library defines floating-point images and fast
 operations on them, including pointwise arithmetic, gradients, blur,
 resizing with correct downsampling, arbitrary spatial transformations, and
 pict-like combiners. It is written in Typed Racket, so Typed Racket code may
 use it without the cost of contract checks.
 
 Neil ⊥
 
 
 _
 Racket Developers list:
 http://lists.racket-lang.org/dev
 
 _
  Racket Developers list:
  http://lists.racket-lang.org/dev



smime.p7s
Description: S/MIME cryptographic signature
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Neil Toronto
Eli had a problem with calling it a Typed Racket API, because it could 
connote that it's only available for Typed Racket programs. I agree with 
him. It doesn't hurt to repeat that it's easy to use TR libraries in 
untyped code, especially for official libraries.


I prefer to have images/flomap somewhere in there so the library is 
easy to find, so I think a good short version would be:


The new `images/flomap' library defines floating-point bitmaps and fast 
image processing operations on them. It is written in Typed Racket, so 
Typed Racket code may use it without the cost of contract checks.


Neil ⊥

On 08/01/2012 09:09 AM, Matthias Felleisen wrote:


How about

  * The Typed Racket API for fast floating-point bitmaps (flomaps)
supports a range of image process operations. See docs for details.


On Aug 1, 2012, at 12:07 PM, Robby Findler wrote:


How about this:

* The API for fast floating-point bitmaps (flomaps) supports image
processing operations. It is written in Typed Racket, so Typed
Racket code may use it without the cost of contract checks.

?

Robby

On Wed, Aug 1, 2012 at 11:05 AM, Neil Toronto neil.toro...@gmail.com wrote:

On 08/01/2012 05:34 AM, Ryan Culpepper wrote:


* The API for fast floating-point bitmaps (flomaps) supports image
   processing operations, including pointwise arithmetic, gradients,
   blur, resizing with correct downsampling, arbitrary spatial
   transformations, and pict-like combiners.



This needs to mention Typed Racket. How about this?

The new `images/flomap' library defines floating-point images and fast
operations on them, including pointwise arithmetic, gradients, blur,
resizing with correct downsampling, arbitrary spatial transformations, and
pict-like combiners. It is written in Typed Racket, so Typed Racket code may
use it without the cost of contract checks.

Neil ⊥


_
Racket Developers list:
http://lists.racket-lang.org/dev


_
  Racket Developers list:
  http://lists.racket-lang.org/dev




_
 Racket Developers list:
 http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Matthias Felleisen

Whatever. 


On Aug 1, 2012, at 2:10 PM, Neil Toronto wrote:

 Eli had a problem with calling it a Typed Racket API, because it could 
 connote that it's only available for Typed Racket programs. I agree with him. 
 It doesn't hurt to repeat that it's easy to use TR libraries in untyped code, 
 especially for official libraries.
 
 I prefer to have images/flomap somewhere in there so the library is easy to 
 find, so I think a good short version would be:
 
 The new `images/flomap' library defines floating-point bitmaps and fast image 
 processing operations on them. It is written in Typed Racket, so Typed Racket 
 code may use it without the cost of contract checks.
 
 Neil ⊥
 
 On 08/01/2012 09:09 AM, Matthias Felleisen wrote:
 
 How about
 
  * The Typed Racket API for fast floating-point bitmaps (flomaps)
supports a range of image process operations. See docs for details.
 
 
 On Aug 1, 2012, at 12:07 PM, Robby Findler wrote:
 
 How about this:
 
 * The API for fast floating-point bitmaps (flomaps) supports image
processing operations. It is written in Typed Racket, so Typed
Racket code may use it without the cost of contract checks.
 
 ?
 
 Robby
 
 On Wed, Aug 1, 2012 at 11:05 AM, Neil Toronto neil.toro...@gmail.com 
 wrote:
 On 08/01/2012 05:34 AM, Ryan Culpepper wrote:
 
 * The API for fast floating-point bitmaps (flomaps) supports image
   processing operations, including pointwise arithmetic, gradients,
   blur, resizing with correct downsampling, arbitrary spatial
   transformations, and pict-like combiners.
 
 
 This needs to mention Typed Racket. How about this?
 
 The new `images/flomap' library defines floating-point images and fast
 operations on them, including pointwise arithmetic, gradients, blur,
 resizing with correct downsampling, arbitrary spatial transformations, and
 pict-like combiners. It is written in Typed Racket, so Typed Racket code 
 may
 use it without the cost of contract checks.
 
 Neil ⊥
 
 
 _
 Racket Developers list:
 http://lists.racket-lang.org/dev
 
 _
  Racket Developers list:
  http://lists.racket-lang.org/dev
 
 



smime.p7s
Description: S/MIME cryptographic signature
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Eli Barzilay
8 hours ago, Robby Findler wrote:
 How about this:
 
  * The API for fast floating-point bitmaps (flomaps) supports image
 processing operations. It is written in Typed Racket, so Typed
 Racket code may use it without the cost of contract checks.
 
 ?

(This is a little fishy IMO, since if no-cost-from-TR is mentioned,
then I think that cost-from-non-TR should be mentioned too...)

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Eli Barzilay
10 hours ago, Asumu Takikawa wrote:
 On 2012-08-01 09:44:13 -0400, Sam Tobin-Hochstadt wrote:
   * The `tex2page' and `combinator-parser' libraries have been moved
 from the Racket distribution to PLaneT.
  
  This should include the URLs to the planet packages, and perhaps the
  `require` lines.
 
 For convenience:
 
   
 http://planet.racket-lang.org/display.ss?package=combinator-parser.pltowner=plt
   http://planet.racket-lang.org/display.ss?package=tex2page.pltowner=plt
 
   (require (planet plt/tex2page))
   (require (planet plt/combinator-parser))

+1 for keeping the latter.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Release Announcement for v5.3, second draft

2012-08-01 Thread Eli Barzilay
11 hours ago, Sam Tobin-Hochstadt wrote:
 On Wed, Aug 1, 2012 at 8:34 AM, Ryan Culpepper r...@cs.utah.edu wrote:
 
  * There is now a very complete completion code for zsh.  It is not
included in the distribution though, get it at: http://goo.gl/DU8JK
(This script and the bash completions will be included in the
standard installers in future versions.)
 
 First, this link is broken.

It points to the tag that will exist when 5.3 is released.


 Second, I think we should *not* use URL shorteners here.

The link text is irrelevant in this case.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev