[racket-dev] Pre-Release Checklist for v5.3

2012-04-18 Thread Ryan Culpepper

Checklist items for the v5.3 release
  (using the v5.2.901.1 release candidate build)

Search for your name to find relevant items, reply when you finish an
item (please indicate which item/s is/are done).  Also, if you have any
commits that should have been picked, make sure that the changes are in.

Important: new builds are created without announcement, usually whenever
I pick a few commits.  If you need to commit changes, please make sure
you tell me to pick it into the release branch.

-- Release candidates are at
--   http://pre.racket-lang.org/release/installers

Please use these installers (or source bundles) -- don't test from
your own git clone (don't test v5.3.0.1 by mistake!).  To get
the tests directory in such a directory, you can do this:
  cd ...racket-root...
  git archive --remote=git://git.racket-lang.org/plt.git release \
  -- collects/tests | tar x

--

* Matthew Flatt mfl...@cs.utah.edu
  - Racket Tests
  - Languages Tests
  - GRacket Tests (Also check that `gracket -z' and `gracket-text' still
works in Windows and Mac OS X)
  - mzc --exe tests
  - .plt-packing Tests
  - Games Tests
  - Unit Tests
  - Syntax Color Tests
  - R6RS Tests
  - JPR's test suite
  - Create an executable from a BSL program
  - Run COM tests
  - Try compiling with -funsigned-char
  Updates:
  - Racket Updates: update HISTORY
  (updates should show v5.3 as the most current version)
  - Update man pages in racket/man/man1: racket.1, gracket.1, raco.1
  Email me to pick the changes when they're done, or tell me if there
  are no such changes.

* Robby Findler ro...@eecs.northwestern.edu
  - DrRacket Tests
  - Framework Tests
  - Contracts Tests
  - Games Tests
  - Teachpacks Tests: image tests
  - PLaneT Tests
  - Redex Tests
  Updates:
  - DrRacket Updates: update HISTORY
  - Redex Updates: update HISTORY
  (updates should show v5.3 as the most current version)
  - Ensure that previous version of DrRacket's preference files still
starts up with new DrRacket
  - Update man pages in racket/man/man1: drracket.1
  Email me to pick the changes when they're done, or tell me if there
  are no such changes.

* John Clements cleme...@brinckerhoff.org
  - Stepper Tests
  Updates:
  - Stepper Updates: update HISTORY
  (updates should show v5.3 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

* Sam Tobin-Hochstadt sa...@ccs.neu.edu,
   Vincent St-Amour stamo...@ccs.neu.edu
  - Match Tests
  - Typed Racket Tests
  - Typed Racket Updates: update HISTORY
  (updates should show v5.3 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

* Matthias Felleisen matth...@ccs.neu.edu
  - Teachpacks Tests: check that new teachpacks are addable
  - Teachpack Docs: check teachpack docs in the bundles
  Updates:
  - Teachpack Updates: update HISTORY
  (updates should show v5.3 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

* Ryan Culpepper r...@cs.utah.edu
  - Macro Debugger Tests
  - Syntax Classifier Tests
  - RackUnit GUI Tests
  - Data Tests
  - DB Tests

* Jay McCarthy jay.mccar...@gmail.com
  - Web Server Tests
  - XML Tests
  - HTML Tests
  - PLAI Tests
  - Racklog tests
  - Datalog tests

* Kathy Gray kathryn.g...@cl.cam.ac.uk
  - Test Engine Tests

* Noel Welsh noelwe...@gmail.com
  - Rackunit Tests
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
load into racket or drracket (as appropriate)

* Stevie Strickland sstri...@ccs.neu.edu
  - Unit Contract Tests
  - Contract Region Tests

* Stephen Chang stch...@ccs.neu.edu
  - Lazy Racket Tests
  - Lazy stepper tests

* Eli Barzilay e...@barzilay.org
  - Swindle Tests
  - XREPL Tests
  - Racket Tree: compare new distribution tree to previous one
  - Run the unix installer tests
  Version Updates: if a major change has happened, update the version
  number in:
  - racket/collects/mzscheme/info.rkt
  - racket/collects/mred/info.rkt

* Stephen Bloch sbl...@adelphi.edu
  - Picturing Programs Tests

* Greg Cooper g...@cs.brown.edu
  - FrTime Tests

* Carl Eastlund c...@ccs.neu.edu
  - Dracula Tests (confirm that Dracula runs from PLaneT)

* Jon Rafkind rafk...@cs.utah.edu
  Release tests for (one of the) linux releases:
  - Test that the `racket' and `racket-textual' source releases
compile fine (note that they're still called `plt' and `mz' at
this stage).
  - Test that the binary installers for both work, try each one in
both normal and unix-style installation modes. (just ubuntu)
  [Note: get the release candidates from the URL in this email. Use
   the 'static table' link to see a list of all tar files available]

* Mike Sperber sper...@deinprogramm.de
  - DMdA Tests
  - Stepper Tests
  - Signature Tests

* David Van Horn 

Re: [racket-dev] Pre-Release Checklist for v5.3

2012-04-18 Thread Vincent St-Amour
At Wed, 18 Apr 2012 09:00:16 -0600,
Ryan Culpepper wrote:
- Typed Racket Tests

Done.

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


[racket-dev] Is this legal submodule code?

2012-04-18 Thread Danny Yoo
I'm trying to wrap my head around submodules so I can get it working
with Whalesong, but I'm running into an issue:

#lang racket

(define (print-cake n)
  #;(show~an #\.)
  #;(show  .-~a-.  n #\|)
  #;(show  | ~a |  n #\space)
  (show ---~a--- n #\-))

(define (show fmt n ch)
  (printf fmt (make-string n ch))
  (newline))

(module* main2 #f
  (print-cake 20)

  (module* inner-main #f
  (print-cake 20)))



I'm trying to understand what it means for the name of a module to
be a list, and I expect the name of the inner-main module to be (cake
main2 inner-main).  Is that right?


But I see the following error message when trying to run this under DrRacket:


##
Welcome to DrRacket, version 5.2.901.1--2012-04-18(7279b02/g) [3m].
Language: racket.
. . local/racket/collects/errortrace/errortrace-lib.rkt:434:2:
standard-module-name-resolver: too many ..s in submodule path:
(submod (quote cake) ..)
##



I don't know enough about submodules yet to know if this is a bug or
I'm just doing something wrong.
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Is this legal submodule code?

2012-04-18 Thread Matthew Flatt
That's a bug. I hope to look into it this afternoon.

At Wed, 18 Apr 2012 13:02:05 -0400, Danny Yoo wrote:
 I'm trying to wrap my head around submodules so I can get it working
 with Whalesong, but I'm running into an issue:
 
 #lang racket
 
 (define (print-cake n)
   #;(show~an #\.)
   #;(show  .-~a-.  n #\|)
   #;(show  | ~a |  n #\space)
   (show ---~a--- n #\-))
 
 (define (show fmt n ch)
   (printf fmt (make-string n ch))
   (newline))
 
 (module* main2 #f
   (print-cake 20)
 
   (module* inner-main #f
   (print-cake 20)))
 
 
 
 I'm trying to understand what it means for the name of a module to
 be a list, and I expect the name of the inner-main module to be (cake
 main2 inner-main).  Is that right?
 
 
 But I see the following error message when trying to run this under DrRacket:
 
 
 ##
 Welcome to DrRacket, version 5.2.901.1--2012-04-18(7279b02/g) [3m].
 Language: racket.
 . . local/racket/collects/errortrace/errortrace-lib.rkt:434:2:
 standard-module-name-resolver: too many ..s in submodule path:
 (submod (quote cake) ..)
 ##
 
 
 
 I don't know enough about submodules yet to know if this is a bug or
 I'm just doing something wrong.
 _
   Racket Developers list:
   http://lists.racket-lang.org/dev
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Pre-Release Checklist for v5.3

2012-04-18 Thread Jon Rafkind


 * Jon Rafkind rafk...@cs.utah.edu
   Release tests for (one of the) linux releases:
   - Test that the `racket' and `racket-textual' source releases
 compile fine (note that they're still called `plt' and `mz' at
 this stage).
   - Test that the binary installers for both work, try each one in
 both normal and unix-style installation modes. (just ubuntu)
   [Note: get the release candidates from the URL in this email. Use
the 'static table' link to see a list of all tar files available]

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


[racket-dev] More low-level submodule questions, and changelog improvements?

2012-04-18 Thread Danny Yoo
 I'm trying to wrap my head around submodules so I can get it working
 with Whalesong


I see that the structure of 'mod' has changed a bit to accommodate
submodules; in particular, mod-name can now be a list of symbols vs
just a symbol, comparing:


http://docs.racket-lang.org/raco/decompile.html#(def._((lib._compiler/zo-structs..rkt)._mod-srcname))

vs:

http://pre.racket-lang.org/docs/html/raco/decompile.html#(def._((lib._compiler/zo-structs..rkt)._mod-srcname))


Is it guaranteed that if mod-name is a list, it's a list of at least
two symbols?



I see the mod-pre-submodules and mod-post-submodules fields in the mod
structure.  Those are the only changes I can see from:

$ git diff v5.2.1 origin/release zo-structs.rkt


I guess the runtime things I need to be careful about now are the
changed semantics to resolved-module-paths.  Are there other changes I
should pay particular attention to?

Thank you!


---


Aside: it's times like these where I wish there was an extensive
Racket summary document similar to what Python does with their What's
New In Python XXX: http://docs.python.org/dev/whatsnew/.  I can read
git diffs, but I'd prefer to read documentation targeted for human
beings.  :)

The release highlights that are currently posted up per Racket release
are insufficient because they are too brief and because they primarily
serve a marketing role rather than a developer role.

In contrast, the document I'd like to see should be a guide that helps
me migrate code.  It should document changes in the runtime behavior
of core library functions, e.g. the change in what resolved module
paths mean is implied by submodules.

I do remember that there used to be a Changelog document that
described the changes per release, but I can't find it from the
racket-lang.org web site.  From my memory, it didn't fulfill this
migration role either.
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Pre-Release Checklist for v5.3

2012-04-18 Thread Jay McCarthy
On Wed, Apr 18, 2012 at 9:00 AM, Ryan Culpepper r...@cs.utah.edu wrote:
 * Jay McCarthy jay.mccar...@gmail.com
  - Web Server Tests
  - XML Tests
  - HTML Tests
  - PLAI Tests
  - Racklog tests
  - Datalog tests

All passed.

Jay


-- 
Jay McCarthy j...@cs.byu.edu
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

The glory of God is Intelligence - DC 93

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


Re: [racket-dev] Are There More String Functions?

2012-04-18 Thread Eli Barzilay
Yesterday, Sam Tobin-Hochstadt wrote:
 I think `racket/string' should provide the useful string functions,
 rather than refer users to srfis.  The only srfi/13 function I ever
 use is `string-trim-both' -- any objection to adding that to
 `racket/string'?

+1 for this in general, and since the `trim' function is the one that
usually leads to this question, it makes sense to add it.  I have most
done of that now.  Some observations:

* Looking around, there are two kinds of customizations -- the
  characters that are removed, and which side to remove from (usually
  in the form of three functions).  I'm going with a single
  `string-trim' function with an optional regexp for the first and
  `#:left?' and `#:right' keywords for the latter.

* It's possible to go with other ways to specify characters, up to
  srfi-13's use of srfi-14, and this is part of why I didn't add a
  trim function yet.  I now think that it's best to have something
  that is usually useful (which is by far just whitespaces) and be
  done with it.  If you need one of these sophisticated things, the
  `regexp-replace' way is still easy enough.

* Another point is the best way to run it efficiently.  There was a
  largish discussion a while ago about various ways to do that (and I
  happened to have gone through a bunch of options shortly before that
  too).  See also
http://blog.stevenlevithan.com/archives/faster-trim-javascript
  for an overview of options in JS.

  So in the same spirit as above, I'm just doing something that works
  reasonably well.  (Again, assuming that if speed is really
  important, then you probably have a good idea on the strings that
  you're trimming and you can just do whatever works for you
  directly.)

* Finally, I'm also adding a related function:
  `string-normalize-spaces', which takes a string and a regexp for the
  spaces, and turns all spaces into single ones.  Same principles as
  above.  This one is getting a `#:trim?' keyword that says whether
  spaces at the edges should be dropped (the default) or normalized.

  BTW, I hate that name -- it makes the `string-' prefix looks even
  uglier...  Any suggestions for a better name?

-- 
  ((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] Are There More String Functions?

2012-04-18 Thread Matthias Felleisen

On Apr 18, 2012, at 3:12 PM, Eli Barzilay wrote:

  `string-normalize-spaces', which takes a string and a regexp for the
  spaces, and turns all spaces into single ones.  Same principles as
  above.  This one is getting a `#:trim?' keyword that says whether
  spaces at the edges should be dropped (the default) or normalized.
 
  BTW, I hate that name -- it makes the `string-' prefix looks even
  uglier...  Any suggestions for a better name?


string-reduce 

? 

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


Re: [racket-dev] Are There More String Functions?

2012-04-18 Thread Eli Barzilay
Just now, Matthias Felleisen wrote:
 
 On Apr 18, 2012, at 3:12 PM, Eli Barzilay wrote:
 
   `string-normalize-spaces', which takes a string and a regexp for the
   spaces, and turns all spaces into single ones.  Same principles as
   above.  This one is getting a `#:trim?' keyword that says whether
   spaces at the edges should be dropped (the default) or normalized.
  
   BTW, I hate that name -- it makes the `string-' prefix looks even
   uglier...  Any suggestions for a better name?
 
 
 string-reduce 
 
 ? 

That sounds like a kind of a `fold'...  (BTW, some names that I
considered are: `normalize-spaces', `compact-spaces',
`string-normalize'.  They all had problems.)

-- 
  ((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] Are There More String Functions?

2012-04-18 Thread Eli Barzilay
Just now, Sam Tobin-Hochstadt wrote:
 'trim' is used in lots of languages for this, and I think we should
 stick with that.

The issue is a name for the second function that normalizes spaces.

(And if you're saying that `trim' is doing both in lots of languages,
then that's wrong AFAICT.)


 On Apr 18, 2012 3:28 PM, Eli Barzilay e...@barzilay.org wrote:
 
 Just now, Matthias Felleisen wrote:
 
  On Apr 18, 2012, at 3:12 PM, Eli Barzilay wrote:
 
    `string-normalize-spaces', which takes a string and a regexp for the
    spaces, and turns all spaces into single ones.  Same principles as
    above.  This one is getting a `#:trim?' keyword that says whether
    spaces at the edges should be dropped (the default) or normalized.
  
    BTW, I hate that name -- it makes the `string-' prefix looks even
    uglier...  Any suggestions for a better name?
 
 
  string-reduce
 
  ?

 That sounds like a kind of a `fold'...  (BTW, some names that I
 considered are: `normalize-spaces', `compact-spaces',
 `string-normalize'.  They all had problems.)

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

-- 
  ((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] my bf language no longer works; how to fix?

2012-04-18 Thread Danny Yoo
On Wed, Apr 18, 2012 at 3:09 PM, Danny Yoo d...@cs.wpi.edu wrote:
 This no longer appears to work in 5.3:

    #lang planet dyoo/bf
    ,[.,]

 I'm not sure how to fix this.  Help?  I see the following error message:


Ok, bug traced.  It looks like module-declared? is being used like
this in the context of parsing a program in the bf PLaneT language:

(module-declared? '(submod (planet dyoo/bf) reader) #t)

At this point, the standard module name resolver raises an error on
behalf of the module-declared? function.

From reading the documentation on module-declared?, I thought that it
wasn't supposed to raise exceptions when given non-existant modules.
But module-declared? raises an error when given other junk module
names.  Is it supposed to do so?  For example:


 (module-declared? 'blah #f)
(module-declared? 'blah #f)
standard-module-name-resolver: collection not found: blah in any of:
(#path:/home/dyoo/.racket/5.2.901.1/collects
#path:/home/dyoo/local/racket/collects)

 === context ===
standard-module-name-resolver
/home/dyoo/local/racket/collects/racket/private/misc.rkt:87:7


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


Re: [racket-dev] Are There More String Functions?

2012-04-18 Thread namekuseijin
On Wed, Apr 18, 2012 at 4:12 PM, Eli Barzilay e...@barzilay.org wrote:
 * Finally, I'm also adding a related function:
  `string-normalize-spaces', which takes a string and a regexp for the
  spaces, and turns all spaces into single ones.  Same principles as
  above.  This one is getting a `#:trim?' keyword that says whether
  spaces at the edges should be dropped (the default) or normalized.

  BTW, I hate that name -- it makes the `string-' prefix looks even
  uglier...  Any suggestions for a better name?

compact-spaces?  Why should all functions have a type prefix?  How
many functions could be possibly named normalize-spaces not dealing
with strings?

why should it take a regexp for the spaces, BTW?

(compact-spaces foobar was   here!)

should be self-evident without requiring the user to provide the
common-sense regex everytime...

the `#:trim keyword is a good idea...

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


Re: [racket-dev] Are There More String Functions?

2012-04-18 Thread Eli Barzilay
Just now, namekuseijin wrote:
 On Wed, Apr 18, 2012 at 4:12 PM, Eli Barzilay e...@barzilay.org wrote:
  * Finally, I'm also adding a related function:
   `string-normalize-spaces', which takes a string and a regexp for the
   spaces, and turns all spaces into single ones.  Same principles as
   above.  This one is getting a `#:trim?' keyword that says whether
   spaces at the edges should be dropped (the default) or normalized.
 
   BTW, I hate that name -- it makes the `string-' prefix looks even
   uglier...  Any suggestions for a better name?
 
 compact-spaces?  Why should all functions have a type prefix?  How
 many functions could be possibly named normalize-spaces not dealing
 with strings?

That's a convention in `racket/string', derived from a general
convention for non-list functions.


 why should it take a regexp for the spaces, BTW?

Because it's easy to specify, mostly.


 (compact-spaces foobar was   here!)
 
 should be self-evident without requiring the user to provide the
 common-sense regex everytime...

It defaults to #px\\s, so that would work fine.

-- 
  ((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] Pre-Release Checklist for v5.3

2012-04-18 Thread David Van Horn

On 4/18/12 11:00 AM, Ryan Culpepper wrote:

- EoPL Tests


Done.

David

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


Re: [racket-dev] Are There More String Functions?

2012-04-18 Thread Tony Garnock-Jones

On 04/18/2012 03:28 PM, Eli Barzilay wrote:

  `string-normalize-spaces', which takes a string and a regexp for the
  spaces, and turns all spaces into single ones.  Same principles as
  above.  This one is getting a `#:trim?' keyword that says whether
  spaces at the edges should be dropped (the default) or normalized.

  BTW, I hate that name -- it makes the `string-' prefix looks even
  uglier...  Any suggestions for a better name?


string-compress-repeats ?

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