Re: [racket-dev] Fwd: [ACM-BULLETIN] Today's Topic: ACM Names 2014 Distinguished Members

2014-12-04 Thread Doug Williams
Congratulations Matthew. I can't think of anyone more deserving.
On Dec 4, 2014 11:49 AM, Matthias Felleisen matth...@ccs.neu.edu wrote:

 Even the ACM considers our very own Matthew Flatt as a distinguished
 scientist. -- Matthias




 Begin forwarded message:

 *From: *ACM Bulletin acmbulle...@acm.org
 *Subject: **[ACM-BULLETIN] Today's Topic: ACM Names 2014 Distinguished
 Members*
 *Date: *December 4, 2014 11:04:44 AM EST
 *To: *acm-bulle...@listserv.acm.org
 *Reply-To: *acmbulle...@acm.org

  *Today's Topic: ACM Names 2014 Distinguished Members*

 Thursday, December 4, 2014
 --

 ACM has named 49 Distinguished Members for their individual contributions
 and their singular impacts on the vital field of computing. Their
 achievements have had a significant influence on the social, economic and
 cultural areas of daily lives all over the world. The 2014 Distinguished
 Members are from universities in Austria, Germany, Switzerland,
 Netherlands, Sweden, Japan, India, the United Kingdom and North America,
 and from leading international corporations and research institutions.

 ACM President Alexander Wolf hailed these ACM members as drivers of the
 advances and inventions that are propelling the information revolution in
 new directions. Their creativity and commitment to their craft ensures that
 we will benefit as a society in the digital age. He added that these
 innovators demonstrate the advantages of ACM membership, which empowers
 and inspires a bold vision for advancing computing and the computing
 community.

 The ACM Distinguished Member program
 http://awards.acm.org/distinguished_member can recognize the top 10
 percent of ACM worldwide membership based on professional experience as
 well as significant achievements in the computing field.

 news release
 http://www.acm.org/press-room/news-releases/2014/distinguished-2014.
 --
http://amturing.acm.org/

 --
 *Connect with us:*

 [image: Find us on Facebook]
 http://www.facebook.com/pages/ACM-Association-for-Computing-Machinery/17927643151?ref=ts
   [image: ACM at LinkedIn] http://www.linkedin.com/groups?gid=36836  [image:
 TheOfficialACM Twitter] http://twitter.com/TheOfficialACM

   [image: GooglePlus]
 https://plus.google.com/101763122146287444610/posts   [image: Find us
 on YouTube] http://www.youtube.com/user/TheOfficialACM

 --
 *To unsubscribe:* Enter your email address
 http://optout.acm.org/listserv_index.cfm?ln=acm-bulletin

 matth...@ccs.neu.edu
 --
 *Association for Computing Machinery*
 Advancing Computing as a Science  Profession

 © 2014 ACM, Inc.
 All rights reserved

 --

 To unsubscribe from the ACM-BULLETIN list:

 write to: acm-bulletin-signoff-requ...@listserv.acm.org or click the
 following link:
 http://listserv.acm.org/SCRIPTS/WA-ACMLPX.CGI?SUBED1=ACM-BULLETINA=1 All
 rights reserved © 2014 ACM, Inc.



 _
   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 v6.1.1

2014-10-18 Thread Doug Williams
...@gmail.com
   - Plot Tests
   - Images Tests
   - Inspect icons
   - Math tests

 * Doug Williams m.douglas.willi...@gmail.com
   - Additional Plot Tests

 * Shriram Krishnamurthi s...@cs.brown.edu
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v6.1.0.900 build, you will need to edit your
 .../collects/framework/private/version.rkt
   file and change `(version)' to `6.1.1'.]

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


Re: [racket-dev] Pre-Release Checklist for v6.0.1

2014-04-25 Thread Doug Williams
 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 dvanh...@ccs.neu.edu
   - EoPL Tests

 * Neil Toronto neil.toro...@gmail.com
   - Plot Tests
   - Images Tests
   - Inspect icons
   - Math tests

 * Doug Williams m.douglas.willi...@gmail.com
   - Additional Plot Tests

 * Shriram Krishnamurthi s...@cs.brown.edu
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v6.0.0.900 build, you will need to edit your
 .../collects/framework/private/version.rkt
   file and change `(version)' to `6.0.1'.]

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


Re: [racket-dev] Pre-Release Checklist for v6.0.1

2014-04-25 Thread Doug Williams
I didn't see any non-termination instances. Everything looked as expected.
The only performance issue I saw was that my plots with shading seem to
be slower. But, I would have to look at it more closely to see if it was
because of other things running at the same time. [My work laptop is just a
dual core and something else may well have been running in the background.]

Doug


On Thu, Apr 24, 2014 at 10:52 AM, Neil Toronto neil.toro...@gmail.comwrote:

 I found out that it happens when a polygon is just three collinear or
 nearly collinear points, and the polygon's plane, which is degenerate, is
 somehow the best choice for a BSP split.

 I still haven't gotten the upcoming release's Plot to generate a
 collection of shapes that causes nontermination. I'll just push the fix I
 used in my dev branch, which detects degenerate planes and calls the
 failure continuation to try the next plane. The BSP tree build should have
 been sanitizing its inputs like that anyway.

 Doug, have you seen nontermination in your tests?

 Neil ⊥


 On 04/18/2014 02:54 PM, Robby Findler wrote:

 That sounds like a good plan to me. Let us know what you find out.

 Robby

 On Fri, Apr 18, 2014 at 3:47 PM, Neil Toronto neil.toro...@gmail.com
 wrote:

 On 04/17/2014 04:44 PM, Ryan Culpepper wrote:


 * Neil Toronto neil.toro...@gmail.com
 - Plot Tests
 - Images Tests
 - Inspect icons
 - Math tests



 I found an infinite loop in Plot's new 3D engine, but I've only been
 able to
 replicate it using a randomized test case for a feature I haven't pushed
 yet. Even though that feature won't be in the upcoming release, there's
 definitely an error in the 3D engine that I don't want users stumbling
 into.

 If the Powers That Be don't mind, I'll concentrate on finding a
 repeatable
 test case, and check the rest of my list at the second call.

 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] planet bug tracking system spam

2014-04-14 Thread Doug Williams
I use it and have not migrated to Github. But, it is no biggie for me one
way or the other.


On Sun, Apr 13, 2014 at 5:17 AM, Robby Findler
ro...@eecs.northwestern.eduwrote:

 Does anyone else find it has value?

 Robby


 On Sunday, April 13, 2014, Neil Van Dyke n...@neilvandyke.org wrote:

 Can the PLaneT bug-tracking system be shut down, please?

 (I have never wanted my packages to be in the PLaneT bug-tracking system.
  It has never been anything for me but counterproductive and annoying.  It
 was not there when I first added my packages to PLaneT.  I really-really
 want to opt-out of it.  But maybe whoever maintains it will decide that
 shutting it down is less work than adding an opt-out feature.)

 Neil V.

 _
  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] planet bug tracking system spam

2014-04-14 Thread Doug Williams
If I'm one of the few using it, I have no objections to it going away. I
need an excuse to migrate anyway.

On Monday, April 14, 2014, Neil Van Dyke n...@neilvandyke.org wrote:


 Robby Findler wrote at 04/14/2014 01:27 PM:

 I think that the problem Neil is having with it is the ridiculous
 amount of spam that gets trapped inside it.

 (But correct me if I'm wrong, Neil!)


 I also have other objections to it.  But if Doug is still using it, I
 guess leaving it running makes sense.  Making an opt-out at this late date
 doesn't make sense.  I will find some other way to punish it.

 Neil V.


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


Re: [racket-dev] GUI executables created with DrRacket fail

2014-02-12 Thread Doug Williams
Thanks, Matthew. I'll test the next release.


On Tue, Feb 11, 2014 at 10:26 AM, Matthew Flatt mfl...@cs.utah.edu wrote:

 The problem was due to changes in `scribble/manual` that didn't
 preserve a delay on finding files in the scribble collection.
 Scribble is referenced by `plot` in a way that needs `scribble/manual`
 to work in an executable, and your program uses `plot`.

 I've pushed a repair to Scribble.

 At Sun, 2 Feb 2014 16:36:50 -0700, Doug Williams wrote:
  The animation program I sent out a bit ago, and attached here, runs fine
  under DrRacket but when I create an executable (using either raco or
  DrRacket) and try to run it, it fails with the following:
 
  collection-file-path: collection not found
collection: scribble
in collection directories:
context...:
 c:\program files\racket\collects\racket\private\pre-base.rkt:115:58:
 fail
 define-on-demand-bound-promise
 c:\program files\racket\collects\racket\private\promise.rkt:104:10
 c:\program files\racket\collects\racket\private\more-scheme.rkt:264:2:
  call-w
  ith-exception-handler
 c:\program files\racket\collects\racket\private\promise.rkt:96:0:
  force/gener
  ic
 define-on-demand-bound-promise
 c:\program files\racket\collects\racket\private\promise.rkt:104:10
 c:\program files\racket\collects\racket\private\more-scheme.rkt:264:2:
  call-w
  ith-exception-handler
 c:\program files\racket\collects\racket\private\promise.rkt:96:0:
  force/gener
  ic
 #%embedded:g4484:manual-scheme: [running body]
 #%embedded:g3956:manual: [traversing imports]
 #%embedded:g3927:defthing: [traversing imports]
 #%embedded:g3903:parameters: [traversing imports]
 #%embedded:g3891:parameters: [traversing imports]
 #%embedded:g3874:no-gui: [traversing imports]
 #%embedded:g3848:main: [traversing imports]...
 
  This happens under 5.92 and 5.93.
 
  Any ideas?


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


[racket-dev] Fwd: GUI executables created with DrRacket fail

2014-02-12 Thread Doug Williams
Neil,

Would it make sense to add a test that makes an executable and runs it. I'm
not sure if that could be added to any automated test scripts though.

Doug

-- Forwarded message --
From: Matthew Flatt mfl...@cs.utah.edu
Date: Tue, Feb 11, 2014 at 10:26 AM
Subject: Re: [racket-dev] GUI executables created with DrRacket fail
To: Doug Williams m.douglas.willi...@gmail.com
Cc: dev@racket-lang.org dev@racket-lang.org


The problem was due to changes in `scribble/manual` that didn't
preserve a delay on finding files in the scribble collection.
Scribble is referenced by `plot` in a way that needs `scribble/manual`
to work in an executable, and your program uses `plot`.

I've pushed a repair to Scribble.

At Sun, 2 Feb 2014 16:36:50 -0700, Doug Williams wrote:
 The animation program I sent out a bit ago, and attached here, runs fine
 under DrRacket but when I create an executable (using either raco or
 DrRacket) and try to run it, it fails with the following:

 collection-file-path: collection not found
   collection: scribble
   in collection directories:
   context...:
c:\program files\racket\collects\racket\private\pre-base.rkt:115:58:
fail
define-on-demand-bound-promise
c:\program files\racket\collects\racket\private\promise.rkt:104:10
c:\program files\racket\collects\racket\private\more-scheme.rkt:264:2:
 call-w
 ith-exception-handler
c:\program files\racket\collects\racket\private\promise.rkt:96:0:
 force/gener
 ic
define-on-demand-bound-promise
c:\program files\racket\collects\racket\private\promise.rkt:104:10
c:\program files\racket\collects\racket\private\more-scheme.rkt:264:2:
 call-w
 ith-exception-handler
c:\program files\racket\collects\racket\private\promise.rkt:96:0:
 force/gener
 ic
#%embedded:g4484:manual-scheme: [running body]
#%embedded:g3956:manual: [traversing imports]
#%embedded:g3927:defthing: [traversing imports]
#%embedded:g3903:parameters: [traversing imports]
#%embedded:g3891:parameters: [traversing imports]
#%embedded:g3874:no-gui: [traversing imports]
#%embedded:g3848:main: [traversing imports]...

 This happens under 5.92 and 5.93.

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


[racket-dev] GUI executables created with DrRacket fail

2014-02-02 Thread Doug Williams
The animation program I sent out a bit ago, and attached here, runs fine
under DrRacket but when I create an executable (using either raco or
DrRacket) and try to run it, it fails with the following:

collection-file-path: collection not found
  collection: scribble
  in collection directories:
  context...:
   c:\program files\racket\collects\racket\private\pre-base.rkt:115:58: fail
   define-on-demand-bound-promise
   c:\program files\racket\collects\racket\private\promise.rkt:104:10
   c:\program files\racket\collects\racket\private\more-scheme.rkt:264:2:
call-w
ith-exception-handler
   c:\program files\racket\collects\racket\private\promise.rkt:96:0:
force/gener
ic
   define-on-demand-bound-promise
   c:\program files\racket\collects\racket\private\promise.rkt:104:10
   c:\program files\racket\collects\racket\private\more-scheme.rkt:264:2:
call-w
ith-exception-handler
   c:\program files\racket\collects\racket\private\promise.rkt:96:0:
force/gener
ic
   #%embedded:g4484:manual-scheme: [running body]
   #%embedded:g3956:manual: [traversing imports]
   #%embedded:g3927:defthing: [traversing imports]
   #%embedded:g3903:parameters: [traversing imports]
   #%embedded:g3891:parameters: [traversing imports]
   #%embedded:g3874:no-gui: [traversing imports]
   #%embedded:g3848:main: [traversing imports]...

This happens under 5.92 and 5.93.

Any ideas?


sine.rkt
Description: Binary data
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Pre-Release Checklist for v6.0, corrected url

2013-12-24 Thread Doug Williams
 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 dvanh...@ccs.neu.edu
   - EoPL Tests

 * Neil Toronto neil.toro...@gmail.com
   - Plot Tests
   - Images Tests
   - Inspect icons
   - Math tests

 * Doug Williams m.douglas.willi...@gmail.com
   - Additional Plot Tests

 * Shriram Krishnamurthi s...@cs.brown.edu
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v5.91, you will need to edit your
 .../collects/framework/private/version.rkt
   file and change `(version)' to `6.0'.]

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


Re: [racket-dev] [ANN] RacketCon 2013: 29 September

2013-05-08 Thread Doug Williams
Sorry I missed last year's RacketCon. It was held on the same weekend we
had all the kids (and now grandkids) here in Denver for a long weekend. It
also coincided with the American Beer Festival held in Denver, which is
probably why the kids - especially our son and son-in-laws - wanted the
reunion that weekend.

I look forward to seeing everyone again.


On Wed, May 8, 2013 at 9:49 AM, Asumu Takikawa as...@ccs.neu.edu wrote:

 RacketCon 2013
 --

 We are pleased to announce that (third RacketCon) will take place on
 September 29, 2013 at Northeastern University in Boston.  This year, we
 plan to bring in several speakers from industry, as well as host talks
 from Racket developers and users.

 Lunch will be provided.

 On the Saturday (28th) before RacketCon, we plan to hold a hackathon to
 work on
 various Racket projects.

 Registration will open during the summer, and we will post a detailed
 schedule of events around the same time. The conference website is at

   http://con.racket-lang.org/

 Asumu Takikawa and PLT

 _
   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.4

2013-04-18 Thread Doug Williams
.**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 dvanh...@ccs.neu.edu
   - EoPL Tests

 * Neil Toronto neil.toro...@gmail.com
   - Plot Tests
   - Images Tests
   - Inspect icons
   - Math tests

 * Doug Williams m.douglas.willi...@gmail.com
   - Additional Plot Tests

 * Danny Yoo d...@cs.wpi.edu
   - Whalesong Tests (confirm that Whalesong runs from PLaneT)

 * Shriram Krishnamurthi s...@cs.brown.edu
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v5.3.3.900 build, you will need to edit your
 .../collects/framework/**private/version.rkt
   file and change `(version)' to `5.3.4'.]

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


Re: [racket-dev] long double for racket

2012-12-24 Thread Doug Williams
Decimal floating point would be a great addition at some point. There
isn't hardware support (yet) on X86 architectures, but there is an
IEEE standard (or a set of them) and increasing library support for it
- including an (optional) Annex F in C11/C11++.

Doug

On Sun, Dec 23, 2012 at 8:07 PM, Neil Toronto neil.toro...@gmail.com wrote:
 I'm working on those now. There are some well-known double-rounding-error
 cases I can use, and I've found more test cases by randomized testing using
 bigfloats.

 I wanted to avoid exact floating-point tests, but it seems there's no way
 around it now. I hope DrDr's FPU is IEEE-compliant. We'll find out.

 Neil ⊥


 On 12/23/2012 06:17 PM, Robby Findler wrote:

 Could you formulate some test cases to check for this behavior?

 Robby


 On Sun, Dec 23, 2012 at 7:07 PM, Neil Toronto neil.toro...@gmail.com
 mailto:neil.toro...@gmail.com wrote:

 On 12/22/2012 10:24 AM, Michael Filonenko wrote:

 Also, long double arithmetic requires setting extended mode
 flag on
 FPU, which forces the FPU to use 80-bit registers. The side
 effect on
 that flag is that the FPU gives slightly different (more
 accurate, but
 not IEEE-compliant) results for 64-bit operations. That is usually
 not a problem on machines who have SSE2 (introduced in Pentium 4
 in
 2001). In presense of SSE2, Racket performs 64-bit operations
 solely
 on 64-bit SSE2 registers (see MZ_USE_JIT_SSE and --mfpmath=sse),
 so the
 results are IEEE-compliant. 80-bit operations are done on FPU
 anyway
 as SSE2 can not do them. Therefore, by setting the extended
 mode on
 FPU, we introduce a subtle difference in ordinary flonums, but
 only on
 old machines that do not have SSE2.


 Where is a good place to read more about this? In particular, I'm
 interested in how IEEE-compliant SSE2 implementations tend to be
 compared to FPUs.

 About half the new flonum functions in the math library rely on
 perfectly compliant rounding for good accuracy in difficult parts of
 their domains. A few use double-double arithmetic to extend
 precision from 53-bit significands to 106 in these subdomains; most
 use a combination of precisions.

 If rounding isn't IEEE-compliant, these functions could suddenly
 become much less precise: from just one least significant digit
 wrong to four or five. That includes computations done *entirely in
 80-bit registers*, which seems like it should be more accurate. For
 example, there's a heavily used macro that computes the result of
 `fl+' and its rounding error. If it were done entirely in 80 bits
 and then rounded to 64, the error computation would be totally bogus.

 I'd like to verify independently that this won't happen on machines
 with an Intel FPU manufactured within the last 12 years or an AMD
 FPU manufactured within the last 10 (i.e. those with SSE2). That
 would keep me happy, since FPUs older than those tended to rounding
 incorrectly anyway.

 Thanks!
 Neil ⊥


 _
   Racket Developers list:
 http://lists.racket-lang.org/__dev 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] Pre-Release Checklist for v5.3.1

2012-10-21 Thread Doug Williams
 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 dvanh...@ccs.neu.edu
   - EoPL Tests

 * Neil Toronto neil.toro...@gmail.com
   - Plot Tests
   - Images Tests
   - Inspect icons

 * Doug Williams m.douglas.willi...@gmail.com
   - Additional Plot Tests

 * Danny Yoo d...@cs.wpi.edu
   - Whalesong Tests (confirm that Whalesong runs from PLaneT)

 * Shriram Krishnamurthi s...@cs.brown.edu
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v5.3.0.900 build, you will need to edit your
 .../collects/framework/private/version.rkt
   file and change `(version)' to `5.3.1'.]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Character classification

2012-09-04 Thread Doug Williams
I would say your function would be better named is-digit? and that the
char-numeric? is exactly what it is intended to be with respect to
Unicode characters, which is what a Racket character represents.

On Tue, Sep 4, 2012 at 4:37 AM, Pierpaolo Bernardi olopie...@gmail.com wrote:
 The non-cooperation between char-numeric? and string-number is very annoying.

 I had to resort to:

 (define (my-char-numeric? c)
   (char=? #\0 c #\9))

 Maybe I am missing a function similar to my-char-numeric? somewhere in
 the Racket docs?

 FWIW, my humble opinion is that char-numeric? should be defined as the
 my- version above. The Unicode category, if that's what one wants, can
 be accessed with char-general-category.

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


Re: [racket-dev] Plot Contour Intervals Question (Bug?)

2012-08-04 Thread Doug Williams
Thanks, Neil.

On Saturday, August 4, 2012 x-apple-data-detectors://32, Neil Toronto
wrote:

 On 08/03/2012 11:59 AM, Doug Williams wrote:

 (require plot)

 (plot (contour-intervals
 (lambda (x y)
   (define z (- x y))
   (cond (( z -1) -1)
 (( z 1) 1)
 (else z)))
 -2 2 -2 2))

 ...

 Why is the lower white triangle not colored red - they definitely have
 a value of 1? It's like those points are completely ignored.


 Turns out it was an error in the marching squares (intervals)
 implementation: a `' should have been a `=' to make an upper test
 symmetric with the corresponding lower test.

 I've pushed the fix. Thanks again!

 Neil ⊥

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

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


[racket-dev] Plot Contour Intervals Question (Bug?)

2012-08-03 Thread Doug Williams
Here is a simple contour-interval example that I don't understand. [We
are changing out some uses of shade in older code when I came across
something I simplified to this.]

Consider the following simple program.

(require plot)

(plot (contour-intervals
   (lambda (x y)
 (define z (- x y))
 (cond (( z -1) -1)
   (( z 1) 1)
   (else z)))
   -2 2 -2 2))

Whose output is attached.

Why is the lower white triangle not colored red - they definitely have
a value of 1? It's like those points are completely ignored.

Doug
attachment: untitled.png_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] potentially renaming /usr/bin/planet to /usr/bin/planet-racket in Debian

2012-07-30 Thread Doug Williams
I have some scripts that still use planet. I use development links as
a substitute for a local PLaneT-like capability and have scripts to do
this for me. Some of these are on production servers. I would create
an alias for it anyway, but would rather it stayed as is.

Doug

On Sun, Jul 29, 2012 at 2:48 PM, Jay McCarthy jay.mccar...@gmail.com wrote:
 The Racket core distribution has already started deprecating the
 'planet' command in favour of going through the 'raco' command and the
 'planet' subcommand:

 raco planet ...

 rather than

 planet ...

 The current documentation does not refer to the 'planet' command at all.

 If users are still using it, then an alias would be sufficient, since
 it is unlikely that programs (certainly none in the Racket
 distribution) call 'planet' directly.

 Jay

 On Sun, Jul 29, 2012 at 1:46 PM, David Bremner brem...@debian.org wrote:

 Hi All;

 We're currently trying to figure out the right way to handle a name
 conflict in Debian between racket and an rss aggregator named
 planet-venus.

 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680685

 I don't use the command /usr/bin/planet myself, so I was wondering if
 anybody could explain the likely disruption caused by (hypothetically)
 renaming it. In particular is it likely to be somether where people are
 using it from scripts or cron jobs, or would making a shell alias
 (alias planet planet-racket) suffice to avoid retraining fingers?

 Thanks

 David

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



 --
 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
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


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

2012-07-28 Thread Doug Williams
It was working on the same machine the next day. So, it may have been a
cache issue or some other transient.

On Saturday, July 28, 2012, Eli Barzilay wrote:

 Is it possible that this is something that is resolved by a forced
 refresh?  if not, what's tthe url is not found?


 On Wednesday, Doug Williams wrote:
  The download page still failed with the same error. The static page
  worked fine.
 
  On Wed, Jul 25, 2012 at 8:24 AM, Ryan Culpepper 
  r...@cs.utah.edujavascript:;
 wrote:
   I just tried downloading the Racket package for Windows (x86,
   64-bit), and it worked for me. Can you try again and let me know
   if it still fails? Also, if you can't download from the form, can
   you try the static table link (just under the usual download
   form, on the right side) and see if you can download it from the
   link on that page?
  
   On 07/25/2012 10:05 AM, Doug Williams wrote:
  
   Attempting to download the 64 bit windows version gives a Page
   Not-Found error and the following.

 --
   ((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] Racket 5.3 pre-release impressions?

2012-07-28 Thread Doug Williams
I've tried all of my packages and had one major snag that Matthew
thinks he has fixed. For my large simulations, it seems to execute
faster, but that is just an impression. Many of them are actually
constrained by quick and dirty plots that may be rendering tens or
hundreds of thousands of points.

Doug

On Sat, Jul 28, 2012 at 12:56 PM, Neil Van Dyke n...@neilvandyke.org wrote:
 Regarding Racket 5.3, I am more cautious than I recall being about a
 previous Racket minor version release.

 The information I have so far is mixed, rather that overwhelmingly
 reassuring.

 If anyone has comments on their sense of 5.3 reliability at this point, that
 might help me.

 Some good news: one of my consulting clients had me do some preliminary
 testing of their large code base with the Racket 5.3 pre-release, and there
 has been no problem with that testing so far.

 However, in testing 5.3 pre-releases with my personally-owned code, rather
 than clients' code, so far I've found what looks like 2 bugs in the 5.3
 pre-release.  This was surprising to me, since I expected 0 bugs.  I have
 not yet tried the majority of my personally-owned code.

 Until I get a better sense, I would expect to keep production servers at
 5.2.1 for a while after the 5.3 release.  I'm also probably going to go to
 some trouble to avoid using new 5.3 features in some code that might be
 deployed to production in the very near term.

 More information might be reassuring to me.

 Neil V.

 _
  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-07-25 Thread Doug Williams
 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 dvanh...@ccs.neu.edu
   - EoPL Tests

 * Neil Toronto neil.toro...@gmail.com
   - Plot Tests

 * Doug Williams m.douglas.willi...@gmail.com
   - Additional Plot Tests

 * Danny Yoo d...@cs.wpi.edu
   - Whalesong Tests (confirm that Whalesong runs from PLaneT)

 * Shriram Krishnamurthi s...@cs.brown.edu
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v5.2.900.1 build, you will need to edit your
 .../collects/framework/private/version.rkt
   file and change `(version)' to `5.3'.]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


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

2012-07-25 Thread Doug Williams
...@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 dvanh...@ccs.neu.edu
   - EoPL Tests

 * Neil Toronto neil.toro...@gmail.com
   - Plot Tests

 * Doug Williams m.douglas.willi...@gmail.com
   - Additional Plot Tests

 * Danny Yoo d...@cs.wpi.edu
   - Whalesong Tests (confirm that Whalesong runs from PLaneT)

 * Shriram Krishnamurthi s...@cs.brown.edu
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v5.2.900.1 build, you will need to edit your
 .../collects/framework/private/version.rkt
   file and change `(version)' to `5.3'.]
attachment: 7-25-2012 8-25-55 AM.png_
  Racket Developers list:
  http://lists.racket-lang.org/dev


[racket-dev] Best way to handle duplicate identifiers

2012-07-25 Thread Doug Williams
Racket now includes nan? and infinite? in the core language, which
were already defined and provided by the science collection in PLaneT.
This isn't a problem, per se, with the code itself, but the
documentation doesn't build in the pre-release because of the
duplicate labels. In a perfect world, I'd just remove all traces of
them from the science collection and documentation, but then (some)
programs that use the science collection would fail for older
versions.

What is the best way to handle this?

Should I remove them from the science collection and change the
dependency for the new version to the latest Racket version? Can I
easily do that for a pre-release version? [For example I noticed that
the pre-release version I downloaded on the 20th was 5.2.901.1 and the
one I downloaded today was 5.2.900.1 - at least in the filenames. So
the numbers seem (to me) to have gone backwards.] Also, should I
consider the new release to not be backwards compatible? [I don't
think there would be any breakage of code using it, but there might be
some edge cases I'm not aware of.]

Should I leave them in the science collection and just change the
documentation to exclude nan? and infinite? on the requires? This is
what I had done previously when they popped up in the plot/utils
module.

Should the science collection just export the new nan? and infinite?
routines so they are still provided? [That might handle any edge cases
I'm not aware of.]

I suspect that I will be having more of these as Neil's new math
routines are released. So, I should probably figure out the best
approach that doesn't break anything.

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


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

2012-07-25 Thread Doug Williams
Some more information on the problem. The application runs fine with
the pre-release on Windows 7 - 64 bit.

The code that is dying on Windows XP 32-bit is:

---

(require racket/runtime-path)

...

;;;
(define-runtime-path subject-path ..\\Subjects.txt)

;;;
(define (load-subject-encodings)
  (let ((port (open-input-file subject-path #:mode 'text)))
(set! subject-encodings
  (append
   default-subject-encodings
   (for/list ((line (in-lines port))
  #:when (regexp-match? #px^\(.*)\\\s*\(.*)\ line))
 (match line
   ((pregexp ^\(.*)\\\s*\(.*)\ (list _ subject encoding))
(list (pregexp (format ^(?i:~a) subject)) encoding))
(close-input-port port)))

...

(define subject-encodings default-subject-encodings)

(load-subject-encodings)

 ...

---

This code loads some data at load time. It does use match, which might
explain the message:

standard-module-name-resolver: collection not found
  collection: racket/match
  in collection directories:
  context...:
   standard-module-name-resolver
   #%embedded:g13106:ground-truth-data: [running body]
   #%embedded:g13057:radar-data: [traversing imports]
   #%embedded:g8619:classifier-panel: [traversing imports]
   main: [traversing imports]
   loop

[Exited. Close box or Ctrl-C closes the console.]

I get when I run the compiled version. In DrRacket it dies with the
unhandled Win 32 exception.

Doug

On Wed, Jul 25, 2012 at 8:39 AM, Doug Williams
m.douglas.willi...@gmail.com wrote:
 The pre-release 32-bit version still fails for my large applications
 at work fails to execute in DrRacket - 32-bit Windows XP. I don't have
 the source or symbol tables loaded so the only message I get from the
 Visual Studio debugger is attached. This is the same problem I was
 having with the previous pre-release version a month or so ago.

 I can create an executable of the application. It fails because it
 doesn't find racket/match. I'll look into that further.

 Doug


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


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

2012-07-25 Thread Doug Williams
I used Create Executable in DrRacket. But, I just tried raco exe --gui
main.rkt to create it and get exactly the same error.

On Wed, Jul 25, 2012 at 11:46 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote:
 Is this application generated with 'raco exe'?  Or 'Create Executable'
 in DrRacket?

 On Wed, Jul 25, 2012 at 10:31 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:
 Some more information on the problem. The application runs fine with
 the pre-release on Windows 7 - 64 bit.

 The code that is dying on Windows XP 32-bit is:

 ---

 (require racket/runtime-path)

 ...

 ;;;
 (define-runtime-path subject-path ..\\Subjects.txt)

 ;;;
 (define (load-subject-encodings)
   (let ((port (open-input-file subject-path #:mode 'text)))
 (set! subject-encodings
   (append
default-subject-encodings
(for/list ((line (in-lines port))
   #:when (regexp-match? #px^\(.*)\\\s*\(.*)\ line))
  (match line
((pregexp ^\(.*)\\\s*\(.*)\ (list _ subject encoding))
 (list (pregexp (format ^(?i:~a) subject)) encoding))
 (close-input-port port)))

 ...

 (define subject-encodings default-subject-encodings)

 (load-subject-encodings)

  ...

 ---

 This code loads some data at load time. It does use match, which might
 explain the message:

 standard-module-name-resolver: collection not found
   collection: racket/match
   in collection directories:
   context...:
standard-module-name-resolver
#%embedded:g13106:ground-truth-data: [running body]
#%embedded:g13057:radar-data: [traversing imports]
#%embedded:g8619:classifier-panel: [traversing imports]
main: [traversing imports]
loop

 [Exited. Close box or Ctrl-C closes the console.]

 I get when I run the compiled version. In DrRacket it dies with the
 unhandled Win 32 exception.

 Doug

 On Wed, Jul 25, 2012 at 8:39 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:
 The pre-release 32-bit version still fails for my large applications
 at work fails to execute in DrRacket - 32-bit Windows XP. I don't have
 the source or symbol tables loaded so the only message I get from the
 Visual Studio debugger is attached. This is the same problem I was
 having with the previous pre-release version a month or so ago.

 I can create an executable of the application. It fails because it
 doesn't find racket/match. I'll look into that further.

 Doug


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



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


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

2012-07-25 Thread Doug Williams
It turns out that if I require racket/match explicitly it works.
Although I shouldn't have to since racket/match is provided by #lang
racket. So, I have a work around on Windows XP 32-bit. But it would be
nice to get the problem fixed.

On Wed, Jul 25, 2012 at 11:51 AM, Doug Williams
m.douglas.willi...@gmail.com wrote:
 I used Create Executable in DrRacket. But, I just tried raco exe --gui
 main.rkt to create it and get exactly the same error.

 On Wed, Jul 25, 2012 at 11:46 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu 
 wrote:
 Is this application generated with 'raco exe'?  Or 'Create Executable'
 in DrRacket?

 On Wed, Jul 25, 2012 at 10:31 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:
 Some more information on the problem. The application runs fine with
 the pre-release on Windows 7 - 64 bit.

 The code that is dying on Windows XP 32-bit is:

 ---

 (require racket/runtime-path)

 ...

 ;;;
 (define-runtime-path subject-path ..\\Subjects.txt)

 ;;;
 (define (load-subject-encodings)
   (let ((port (open-input-file subject-path #:mode 'text)))
 (set! subject-encodings
   (append
default-subject-encodings
(for/list ((line (in-lines port))
   #:when (regexp-match? #px^\(.*)\\\s*\(.*)\ 
 line))
  (match line
((pregexp ^\(.*)\\\s*\(.*)\ (list _ subject encoding))
 (list (pregexp (format ^(?i:~a) subject)) encoding))
 (close-input-port port)))

 ...

 (define subject-encodings default-subject-encodings)

 (load-subject-encodings)

  ...

 ---

 This code loads some data at load time. It does use match, which might
 explain the message:

 standard-module-name-resolver: collection not found
   collection: racket/match
   in collection directories:
   context...:
standard-module-name-resolver
#%embedded:g13106:ground-truth-data: [running body]
#%embedded:g13057:radar-data: [traversing imports]
#%embedded:g8619:classifier-panel: [traversing imports]
main: [traversing imports]
loop

 [Exited. Close box or Ctrl-C closes the console.]

 I get when I run the compiled version. In DrRacket it dies with the
 unhandled Win 32 exception.

 Doug

 On Wed, Jul 25, 2012 at 8:39 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:
 The pre-release 32-bit version still fails for my large applications
 at work fails to execute in DrRacket - 32-bit Windows XP. I don't have
 the source or symbol tables loaded so the only message I get from the
 Visual Studio debugger is attached. This is the same problem I was
 having with the previous pre-release version a month or so ago.

 I can create an executable of the application. It fails because it
 doesn't find racket/match. I'll look into that further.

 Doug


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



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



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

2012-07-25 Thread Doug Williams
And one last post on this. Now it is reliably running. I'm assuming
once I got a .zo of the offending module actually built, from then on
I'm okay as long as I don't play around with it. Does that make sense?

And, just to test that, I deleted the compiled directory and the weird
behavior comes back. I (re-)load it and hit run enough times until I
get it to start and from then on it starts fine. [Although I'm not
sure I should actually trust it - but it seems to be running fine
after that.]

Doug - done with experimenting for the day - Williams

On Wed, Jul 25, 2012 at 12:27 PM, Doug Williams
m.douglas.willi...@gmail.com wrote:
 And, actually I was premature with the I have a work around for
 Windows XP. Sometimes it runs, but usually it dies in weird and
 wonderful ways - sometimes with a Win32 error, sometimes with a seg
 fault during gc, sometimes with errors about undefined symbols various
 places. It's rather amusing to watch - but I assume memory is just
 being corrupted now instead of always dying the same way.

 Let me know when there is a version I can try again.

 Doug

 On Wed, Jul 25, 2012 at 12:16 PM, Ryan Culpepper r...@cs.utah.edu wrote:
 I suspect the problem is caused by commit 8358420f, which changed match to
 load part of its implementation lazily using lazy-require. Part of that
 commit was reverted by 949d12e2, but possibly the use of lazy-require left
 in is causing problems in some cases.

 I think it would be best to just fully revert the commit (8358420f) on the
 release branch.

 Ryan



 On 07/25/2012 01:56 PM, Doug Williams wrote:

 It turns out that if I require racket/match explicitly it works.
 Although I shouldn't have to since racket/match is provided by #lang
 racket. So, I have a work around on Windows XP 32-bit. But it would be
 nice to get the problem fixed.

 On Wed, Jul 25, 2012 at 11:51 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:

 I used Create Executable in DrRacket. But, I just tried raco exe --gui
 main.rkt to create it and get exactly the same error.

 On Wed, Jul 25, 2012 at 11:46 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu
 wrote:

 Is this application generated with 'raco exe'?  Or 'Create Executable'
 in DrRacket?

 On Wed, Jul 25, 2012 at 10:31 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:

 Some more information on the problem. The application runs fine with
 the pre-release on Windows 7 - 64 bit.

 The code that is dying on Windows XP 32-bit is:

 ---

 (require racket/runtime-path)

 ...

 ;;;
 (define-runtime-path subject-path ..\\Subjects.txt)

 ;;;
 (define (load-subject-encodings)
(let ((port (open-input-file subject-path #:mode 'text)))
  (set! subject-encodings
(append
 default-subject-encodings
 (for/list ((line (in-lines port))
#:when (regexp-match? #px^\(.*)\\\s*\(.*)\
 line))
   (match line
 ((pregexp ^\(.*)\\\s*\(.*)\ (list _ subject
 encoding))
  (list (pregexp (format ^(?i:~a) subject))
 encoding))
  (close-input-port port)))

 ...

 (define subject-encodings default-subject-encodings)

 (load-subject-encodings)

   ...

 ---

 This code loads some data at load time. It does use match, which might
 explain the message:

 standard-module-name-resolver: collection not found
collection: racket/match
in collection directories:
context...:
 standard-module-name-resolver
 #%embedded:g13106:ground-truth-data: [running body]
 #%embedded:g13057:radar-data: [traversing imports]
 #%embedded:g8619:classifier-panel: [traversing imports]
 main: [traversing imports]
 loop

 [Exited. Close box or Ctrl-C closes the console.]

 I get when I run the compiled version. In DrRacket it dies with the
 unhandled Win 32 exception.

 Doug

 On Wed, Jul 25, 2012 at 8:39 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:

 The pre-release 32-bit version still fails for my large applications
 at work fails to execute in DrRacket - 32-bit Windows XP. I don't have
 the source or symbol tables loaded so the only message I get from the
 Visual Studio debugger is attached. This is the same problem I was
 having with the previous pre-release version a month or so ago.

 I can create an executable of the application. It fails because it
 doesn't find racket/match. I'll look into that further.

 Doug


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




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



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


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

2012-07-25 Thread Doug Williams
I had sent a separate e-mail to Matthew wondering if it was in the
module name resolver, which has also been modified. It would seem (to
me naively anyway) that that would be more likely to have OS
dependencies than the lazy require. Or maybe an unexpected interaction
between those two.

On Wed, Jul 25, 2012 at 12:48 PM, Sam Tobin-Hochstadt sa...@ccs.neu.edu wrote:
 On Wed, Jul 25, 2012 at 11:16 AM, Ryan Culpepper r...@cs.utah.edu wrote:
 I suspect the problem is caused by commit 8358420f, which changed match to
 load part of its implementation lazily using lazy-require. Part of that
 commit was reverted by 949d12e2, but possibly the use of lazy-require left
 in is causing problems in some cases.

 I think it would be best to just fully revert the commit (8358420f) on the
 release branch.

 I agree.  Do I need to do something here for this?

 Sam


 On 07/25/2012 01:56 PM, Doug Williams wrote:

 It turns out that if I require racket/match explicitly it works.
 Although I shouldn't have to since racket/match is provided by #lang
 racket. So, I have a work around on Windows XP 32-bit. But it would be
 nice to get the problem fixed.

 On Wed, Jul 25, 2012 at 11:51 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:

 I used Create Executable in DrRacket. But, I just tried raco exe --gui
 main.rkt to create it and get exactly the same error.

 On Wed, Jul 25, 2012 at 11:46 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu
 wrote:

 Is this application generated with 'raco exe'?  Or 'Create Executable'
 in DrRacket?

 On Wed, Jul 25, 2012 at 10:31 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:

 Some more information on the problem. The application runs fine with
 the pre-release on Windows 7 - 64 bit.

 The code that is dying on Windows XP 32-bit is:

 ---

 (require racket/runtime-path)

 ...

 ;;;
 (define-runtime-path subject-path ..\\Subjects.txt)

 ;;;
 (define (load-subject-encodings)
(let ((port (open-input-file subject-path #:mode 'text)))
  (set! subject-encodings
(append
 default-subject-encodings
 (for/list ((line (in-lines port))
#:when (regexp-match? #px^\(.*)\\\s*\(.*)\
 line))
   (match line
 ((pregexp ^\(.*)\\\s*\(.*)\ (list _ subject
 encoding))
  (list (pregexp (format ^(?i:~a) subject))
 encoding))
  (close-input-port port)))

 ...

 (define subject-encodings default-subject-encodings)

 (load-subject-encodings)

   ...

 ---

 This code loads some data at load time. It does use match, which might
 explain the message:

 standard-module-name-resolver: collection not found
collection: racket/match
in collection directories:
context...:
 standard-module-name-resolver
 #%embedded:g13106:ground-truth-data: [running body]
 #%embedded:g13057:radar-data: [traversing imports]
 #%embedded:g8619:classifier-panel: [traversing imports]
 main: [traversing imports]
 loop

 [Exited. Close box or Ctrl-C closes the console.]

 I get when I run the compiled version. In DrRacket it dies with the
 unhandled Win 32 exception.

 Doug

 On Wed, Jul 25, 2012 at 8:39 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:

 The pre-release 32-bit version still fails for my large applications
 at work fails to execute in DrRacket - 32-bit Windows XP. I don't have
 the source or symbol tables loaded so the only message I get from the
 Visual Studio debugger is attached. This is the same problem I was
 having with the previous pre-release version a month or so ago.

 I can create an executable of the application. It fails because it
 doesn't find racket/match. I'll look into that further.

 Doug


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




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






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


Re: [racket-dev] racket/gui performance problem when using lots of items in table-panels

2012-07-20 Thread Doug Williams
Matthew might be able to shed some light on it. But, I suspect you'd
have similar performance regardless of the container used.

On Fri, Jul 20, 2012 at 1:36 AM, Marijn hk...@gentoo.org wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 19-07-12 17:08, Doug Williams wrote:
 I think the problem is the time it takes to create 600 buttons in
 this case, not the time needed to switch between the tabs. I'm not
 sure why you are recreating them each refresh. Am I missing
 something?

 This is a cutdown slightly changed testcase for a performance problem
 I'm having in a real program. I'm using some tabs that recreate their
 contents in my program, because their contents depend on values input
 by the user from another tab. In the testcase, imagine that the first
 tab is not blank but lets you specify the number of rows and columns
 of the table of buttons on tab 2.

 Marijn
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.19 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAlAJCm0ACgkQp/VmCx0OL2y6yQCfYPX0yMMNNSUdk5J3FoCeHYg9
 Ia4AnRbCOVgH13ZyQN/HbrJXkbTC37a4
 =Shso
 -END PGP SIGNATURE-
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] racket/gui performance problem when using lots of items in table-panels

2012-07-19 Thread Doug Williams
I think the problem is the time it takes to create 600 buttons in this
case, not the time needed to switch between the tabs. I'm not sure
why you are recreating them each refresh. Am I missing something?

Doug

On Thu, Jul 19, 2012 at 8:59 AM, Marijn hk...@gentoo.org wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Hi,

 I've been having some performance problems when using lots of items in
 table-panels[1]. Switching tabs when running the following example
 exhibits the problem. Can anything be done about it?

 Marijn


 #lang racket/gui

 ;(require (planet williams/table-panel:1:1/table-panel))
 (require table-panel.rkt)

 ;;; The top-level frame
 (define frame
   (new frame%
(label Table Panel Perf Test)
(width 500) (height 500)))

 (define (current-root-tab)
   (vector-ref root-tab-vector (send root-tab-panel get-selection)) )

 (define (delete-all-children area)
   (send area change-children
 (lambda (children) '())) )

 (define (root-tab-callback tab-panel event)
   (send root-tab-panel change-children
 (lambda (children) (list (current-root-tab )

 (define root-tab-panel
   (new tab-panel%
(choices '()#;tab-names)
(parent frame)
(callback root-tab-callback)))

 (define nr-rows 30)
 (define nr-cols 20)

 (define on-show-refresh-panel%
   (class table-panel%
 (init-field refresher)
 (super-new)
 (define/override (on-superwindow-show shown?)
   (when shown?
 (displayln refreshing!)
 (refresher)))
 ))

 (define tab1
   (new panel% (parent root-tab-panel)))

 (define (build-tab2)
   (delete-all-children tab2)
   (for* ((r nr-rows)
  (c nr-cols))
 (new button%
  (parent tab2)
  (label (format ~a,~a r c))
  (stretchable-width #t)
  (stretchable-height #t)
  (callback
   (lambda (button event)
 (printf ~a~n
 (send button get-label )  ))

 (define tab2
   (new on-show-refresh-panel% (parent root-tab-panel)
(style '(deleted))
(alignment '(center center))
(dimensions `(,nr-cols ,nr-rows))
(refresher build-tab2)))

 (define tabs
   `((,tab1 . Tab 1)
 (,tab2 . Tab 2)))

 (define tab-names (map cdr tabs))
 (define root-tab-vector (list-vector (map car tabs)))

 (send root-tab-panel set tab-names)

 (send frame show #t)


 [1]:http://planet.racket-lang.org/display.ss?package=table-panel.pltowner=williams
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.19 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAlAIIMoACgkQp/VmCx0OL2x3CgCbBhGkCCroHrEj1giTYA7KYhC4
 3sgAoMLUC6S+zouYY4kXm4HFca85odPG
 =n8MG
 -END PGP SIGNATURE-
 _
   Racket Developers list:
   http://lists.racket-lang.org/dev
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Feature request- combined argmin and argmax in a single function

2012-06-27 Thread Doug Williams
The science collection already has such a function (minimum-maximum
a-sequence) that works for any sequence - e.g., lists or vectors. For
example:

#lang racket

(require (planet williams/science/science))

(minimum-maximum
 (for/list ((i (in-range 10)))
   (random-unit-gaussian)))

(minimum-maximum
 (for/vector #:length 10
 ((i (in-range 10)))
   (random-unit-gaussian)))


Doug


On Wed, Jun 27, 2012 at 1:10 PM, Harry Spier vasishtha.sp...@gmail.com wrote:
 It might be useful to add to the language a combined function such as
 (argminmax proc lst) that returned both the minimum and maximum values
 of applying proc to lst.  So that for very large lists (or for very
 large numbers of lists where you need to know the min and max values
 in the lists)  instead of having to traverse the lists twice (once
 with argmin and once with argmax) you'd now only have to trarverse the
 list once with argminmax.

 Thanks,
 Harry Spier
 _
  Racket Developers list:
  http://lists.racket-lang.org/dev

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


Re: [racket-dev] Hyperbolic functions

2012-06-26 Thread Doug Williams
Doug is for any of it. I'd love to get some student projects that move
the science collection to TR.

On Tue, Jun 26, 2012 at 1:42 PM, Matthias Felleisen
matth...@ccs.neu.edu wrote:

 I am all for a math/ collection as I said before.


 On Jun 26, 2012, at 3:35 PM, Neil Toronto wrote:

 On 06/26/2012 08:04 AM, Jens Axel Søgaard wrote:
 Just in case: They are available in the Science Collection:

 They are - Doug's done good work. I'd convert those to TR, check TR's 
 optimizations, and harden them if they need it (especially near 0.0 and 
 +/-inf.0). Also, I have a few not in Doug's collection, and they're already 
 written in TR.

 On 06/26/2012 07:50 AM, Matthias Felleisen wrote:
 
  I'd love to see math as a TR library. Does it have to be in racket/ ?

 How about math/trigonometry, math/special, math/random, math/distribution, 
 and so on? If you (require math), you'd get them all.

 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] Seg Fault in GC with Pre-Release Racket

2012-04-22 Thread Doug Williams
No, the errors are printed in a terminal window. Since I have visual studio
loaded on that machine, I get a VS pop up asking if I want to enter the
debugger. I can see the stack in the debugger, but there are no symbols,
etc so I'm not sure a stack trace there would be helpful. If I don't enter
the debugger, the entire application immediately closes. I did create a
core dump, but it's over half a gigabyte.

If you can tell me what would be helpful from the VS debugger, I can try
that. I was planned on trying in on a different machine today.

Doug

On Saturday, April 21, 2012, Robby Findler wrote:

 Do you get a button that lets you get a stacktrace?

 Robby

 On Sat, Apr 21, 2012 at 7:54 PM, Doug Williams
 m.douglas.willi...@gmail.com javascript:; wrote:
  I downloaded Saturday's build and get the same Seg Fault (the address is
  different) when I run my large app under DrRacket. However, the
 application
  runs fine while I compile it and run it standalone.
 
  On Thu, Apr 19, 2012 at 9:32 AM, Williams, Doug 
  dwilli...@setcorp.comjavascript:;
 
  wrote:
 
  I have downloaded the latest pre-release for v5.3
  (plt-5.2.901.1-bin-i386-win32.exe). All of my PLaneT collections load
 and
  run fine. But, my large application at work fails to run – it dies
 during
  startup with “Seg Fault (internal error during gc) at 58720044” printed
  (twice) in a new window. It’s running under Windows XP.  I’ve attached a
  screen shot of the Visual Studio debugger error window with slightly
 more
  information. Let me know if there is anything else I can provide.
 
 
 
  Doug
 
 
 
 
  _
   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] Seg Fault in GC with Pre-Release Racket

2012-04-21 Thread Doug Williams
I downloaded Saturday's build and get the same Seg Fault (the address is
different) when I run my large app under DrRacket. However, the application
runs fine while I compile it and run it standalone.

On Thu, Apr 19, 2012 at 9:32 AM, Williams, Doug dwilli...@setcorp.comwrote:

 I have downloaded the latest pre-release for v5.3
 (plt-5.2.901.1-bin-i386-win32.exe). All of my PLaneT collections load and
 run fine. But, my large application at work fails to run – it dies during
 startup with “Seg Fault (internal error during gc) at 58720044” printed
 (twice) in a new window. It’s running under Windows XP.  I’ve attached a
 screen shot of the Visual Studio debugger error window with slightly more
 information. Let me know if there is anything else I can provide.

 ** **

 Doug

 ** **

 _
  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-19 Thread Doug Williams
 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 dvanh...@ccs.neu.edu
  - EoPL Tests

 * Neil Toronto neil.toro...@gmail.com
  - Plot Tests

 * Doug Williams m.douglas.willi...@gmail.com
  - Additional Plot Tests

 * Danny Yoo d...@cs.wpi.edu
  - Whalesong Tests (confirm that Whalesong runs from PLaneT)

 * Shriram Krishnamurthi s...@cs.brown.edu
  Tour: check the tour and generate a new one if needed.
  [Note: Since this is a v5.2.901.1 build, you will need to edit your
.../collects/framework/**private/version.rkt
  file and change `(version)' to `5.3'.]

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


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

2012-01-19 Thread Doug Williams
 in this email. Use
   the 'static table' link to see a list of all tar files available]

 * Shriram Krishnamurthi s...@cs.brown.edu
  Tour: check the tour and generate a new one if needed.
  [Note: Since this is a v5.2.0.900 build, you will need to edit your
.../collects/framework/private/version.rkt
  file and change `(version)' to `5.2.1'.]

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

 * Neil Toronto neil.toro...@gmail.com
  - Plot Tests

 * Doug Williams m.douglas.willi...@gmail.com
  - Additional Plot Tests

 * Danny Yoo d...@cs.wpi.edu
  - Whalesong Tests (confirm that Whalesong runs from PLaneT)

 --
 Ryan Culpepper

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


Re: [racket-dev] plot doesn't plot (inexact-exact: no exact representation for +nan.0)

2011-12-06 Thread Doug Williams
It runs fine for me on Racket Version 5.2 [3m], 64-bit, under Windows 7,
with or without the commented lines. I can try on my work machine using the
nightly build in the morning. But I work the plot package pretty heavily
there (using a recent nightly build) with no problems.

On Tue, Dec 6, 2011 at 3:13 AM, Marijn hk...@gentoo.org wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 So I just wanted to repost this to dev for the record.

 The program:

 ;== start
 #lang racket

 (require plot)

 ;(plot3d-diffuse-light? #f)
 ;(plot3d-specular-light? #f)

 (plot3d (list (surface3d (λ (x y) (+ (sqr x) (sqr y))) -1 1 -1 1
   #:label z = x^2 + y^2)
(surface3d (λ (x y) (- (+ (sqr x) (sqr y -1 1 -1 1
   #:color 4 #:line-color 4
   #:label z = -x^2 - y^2)))
 ;== end

 produces:

 inexact-exact: no exact representation for +nan.0

 but when the commented lines are uncommented it does plot. The plot
 looks plausible, though apparently it should be possible to drag
 inside the plot area to change the view. This is not possible for me;
 the view is stuck from looking along the xy-plane onto the z-axis.

 Matthew has been trying to determine the cause via private email.
 Matthew, has any of the data I provided so far pointed you anywhere?
 Otherwise is there something else I can do to help debug?

 Marijn
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.18 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAk7d6uIACgkQp/VmCx0OL2yVAQCdEaRC6AuBfrbUtFBXDJF4uBVh
 lJYAoIfI1nkHSURKjhdNeN4qX13I2vnm
 =NTTc
 -END PGP SIGNATURE-
 _
  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] plot doesn't plot (inexact-exact: no exact representation for +nan.0)

2011-12-06 Thread Doug Williams
I loaded the latest nightly build (version 5.2.0.4--2011-11-27(462a348/a)
[3m]) on my Scientific Linux 6.0 machine (also 64-bit) and it runs fine
with or without the commented lines there, too.

2011/12/6 Doug Williams m.douglas.willi...@gmail.com

 It runs fine for me on Racket Version 5.2 [3m], 64-bit, under Windows 7,
 with or without the commented lines. I can try on my work machine using the
 nightly build in the morning. But I work the plot package pretty heavily
 there (using a recent nightly build) with no problems.


 On Tue, Dec 6, 2011 at 3:13 AM, Marijn hk...@gentoo.org wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 So I just wanted to repost this to dev for the record.

 The program:

 ;== start
 #lang racket

 (require plot)

 ;(plot3d-diffuse-light? #f)
 ;(plot3d-specular-light? #f)

 (plot3d (list (surface3d (λ (x y) (+ (sqr x) (sqr y))) -1 1 -1 1
   #:label z = x^2 + y^2)
(surface3d (λ (x y) (- (+ (sqr x) (sqr y -1 1 -1 1
   #:color 4 #:line-color 4
   #:label z = -x^2 - y^2)))
 ;== end

 produces:

 inexact-exact: no exact representation for +nan.0

 but when the commented lines are uncommented it does plot. The plot
 looks plausible, though apparently it should be possible to drag
 inside the plot area to change the view. This is not possible for me;
 the view is stuck from looking along the xy-plane onto the z-axis.

 Matthew has been trying to determine the cause via private email.
 Matthew, has any of the data I provided so far pointed you anywhere?
 Otherwise is there something else I can do to help debug?

 Marijn
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.18 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAk7d6uIACgkQp/VmCx0OL2yVAQCdEaRC6AuBfrbUtFBXDJF4uBVh
 lJYAoIfI1nkHSURKjhdNeN4qX13I2vnm
 =NTTc
 -END PGP SIGNATURE-
 _
  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] nan?, infinite? and regular-real? [Was: Latest Plot Package]

2011-11-19 Thread Doug Williams
The mathematical abstraction of irrational. That is, when I think of a real
number abstractly, it includes irrationals. The fact that I have to use a
representation that doesn't include irrationals doesn't mean I give up the
abstract idea of reals.

On Sat, Nov 19, 2011 at 10:27 AM, Robby Findler ro...@eecs.northwestern.edu
 wrote:

 On Sat, Nov 19, 2011 at 9:54 AM, Doug Williams
 m.douglas.willi...@gmail.com wrote:
  I would keep finite? for the semantics associated with the name even if
 it
  is just a renaming of rational?. Particularly since you can't just use
 (not
  (infinite? x)) when NaNs are a possibility. [I personally don't like
 using
  rational? for an abstraction that includes irrational numbers.]

 Forgive me for being dense, but IIUC, aren't there no irrational
 numbers in Racket? Or, put another way, which class of numbers do you
 find useful to single out using rational??

 Robby

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

Re: [racket-dev] nan?, infinite? and regular-real? [Was: Latest Plot Package]

2011-11-18 Thread Doug Williams
Mine are from the pre-r6rs days are exactly the same definitions as from
the GSL, which may differ slightly from those in r6rs. I would have to
check. They already exist in Racket in the r6rs stuff. I have no problem
with using those definitions instead of the ones from the GSL.

On Fri, Nov 18, 2011 at 12:22 PM, Ryan Culpepper r...@cs.utah.edu wrote:

 On 11/18/2011 12:13 PM, Neil Toronto wrote:

 I've moved this to dev from a private discussion with Doug, who has just
 tried the nightly build.

 On 11/18/2011 11:43 AM, Williams, Doug wrote:

 2) The plot/utils has nan? and infinite?, which are also exported from
 the science collection and I had to explicitly exclude them in the
 require. Can we talk to the powers that be and see about getting them
 (and finite?) moved to racket/math? Then we can both remove them from
 our code. [I'm not sure about any interaction with the r6rs functions.]


 Powers That Be, Doug and I would like `nan?' and `infinite?' to be in
 `racket/math'.

 I made an exact equivalent of Doug's `finite?', but called it
 `regular-real?'. I use it in all kinds of function contracts (it returns
 #f for non-reals). We would also like that one, with either name, in
 `racket/math'.


 How does 'finite?' differ from 'rational?'?

 If we're making a wishlist, I'd really like '{positive,nonnegative}-{real,
 **rational}?'.

 Ryan

 __**___
  For list-related administrative tasks:
  
 http://lists.racket-lang.org/**listinfo/devhttp://lists.racket-lang.org/listinfo/dev

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

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

2011-10-18 Thread Doug Williams

 * Doug Williams m.douglas.willi...@gmail.com
  - Additional Plot Tests


Done.

I have removed the plot extensions from the science collection since they
aren't needed anymore. The science collection and simulation collection have
been updated to use the new plot package - no changes to user code is needed
unless they use the plot extensions directly.

I have updated the animated canvas examples to use animations based on the
new plot package. This really wasn't practical with the old plot package.
Thanks, Neil.

Also, the radix-2 FFT examples now work correctly. Thanks, Matthew.

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

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

2011-10-09 Thread Doug Williams
I downloaded the latest pre-release version (5.1.900.1) to update the
science collection to use the new plot collection. The good news is that
that went very smoothly. The bad news is that some of my FFT routines seem
to be getting incorrect numeric results - at least the plots are very bad.
But, since all of the other plots seem fine, I don't see why these would be
any different.

So, I suspect that something has changed that affects the numeric
calculations. It is just the radix-2 FFTs that are having the problem. They
do some low-level bit fiddling to do the in-place butterfly addressing for
the FFTs - using things like unsafe-fxlshift (which just looks unfriendly) -
so, I suspect something there. Are the any recent changes that would affect
these kinds of fixed-point operations?

I've run the code under a previous version of Racket on a 64-bit Linux
(Scientific Linux 6.0) computer and a 32-bit Windows XP computer and get
correct results. So, I don't think it is simply a 32/64 bit problem - unless
it is limited to 64-bit Windows.

Sorry that was kind of rambling and non-specific, but I was wondering where
to start looking at the problem or what would help someone else look into
it.

Doug


On Fri, Oct 7, 2011 at 10:19 PM, Ryan Culpepper r...@cs.utah.edu wrote:

 The release process for v5.2 has begun: the `release' branch was
 created for any work that is left and is now bumped to v5.1.90.  You
 can go on using the `master' branch as usual, it is now bumped to
 v5.2.0.1 (to avoid having two different trees with the same version).

 If you have any bug-fixes and changes that need to go in the release
 then make sure to specify that in the commit message or mail me the
 commit SHA1s.  You can `git checkout release' to try it out directly if
 needed -- but do not try to push commits on it (the server will forbid
 it).

 Please make sure that code that you're responsible for is as stable
 as possible, and let me know if there is any new work that should
 not be included in this release.

   NOW IS THE TIME TO FIX BUGS THAT YOU KNOW ABOUT 

 The time between the `release' branch creation and the actual
 release is for fixing new errors that prevent proper functioning of
 major components and that show up during the preparation for a
 release.  You can also finalize piece of work that is not yet
 complete, but please avoid merging new features.

 Note that nightly builds will go on as usual (as v5.2.0.1), and
 pre-release builds will be available shortly at

  http://pre.racket-lang.org/release/

 Please tell me if you think that this release is significant enough
 that it should be announced on the users list for wider testing.
 --
 Ryan Culpepper
 _
  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] New plot library pushed

2011-10-09 Thread Doug Williams
None of the contracts for any of the plot routines were a problem.

I was talking about contracts on my own functions. For example, if I have a
function f(x) with a (/c 0.0) contract, I still have to use #:x-min 0.001
(or something like it) instead of #:x-min 0.0 to avoid the contract error.
But, I would say that is the expected behavior.

Yes, the porting page was helpful. And really, the port was not hard at all.
The only thing that required much thought was getting the rectangles to work
for histograms. I incorrectly homed in on the word histogram. It might be
nice to provide a plain histogram renderer. But, it really wasn't hard after
I found rectangles. And thanks for writing the discrete-histogram, that was
very useful.

On Sun, Oct 9, 2011 at 2:27 PM, Neil Toronto neil.toro...@gmail.com wrote:

 That was quick!


 On 10/09/2011 01:10 PM, Doug Williams wrote:

 I ported all of the science collection graphics to use the new plot
 package. It was relatively painless. Most of the effort was actually in
 improving my graphics using some of the new options - like adding labels
 for legends. Also, there are many places with the old plot package where
 I had to fudge things like #:x-min and #x-max - like #:x-min 0.001
 instead of #:x-min 0.0 - because the graphics package itself was very
 unforgiving of it's internal numeric errors. Neil's seems to be much
 more robust and forgiving.


 I'll take credit for half of that. Internally, it treats any NaNs and INFs
 output from user functions as holes and handles them in a
 graphics-primitive-specific way. (E.g. polygons with at least one hole
 don't get drawn, lines get split.)

 The other half of the credit goes to Racket for giving me exact rationals
 to use for plot bounds and other internal quantities. It's been really nice
 to not have to worry about floating-point error.


  [Obviously I still need to do it in some
 cases where there would be contract violations on functions being
 plotted.]


 Are the contract violations because some of PLoT's contracts are a little
 stricter? (I'm thinking specifically of 'points'.)


  Neil, thanks for the good work.


 You're very welcome.

 Did you find the Porting page helpful?

 Neil T

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

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

2011-10-09 Thread Doug Williams
I reloaded the older version of Racket on my Windows 7 computer and the
radix-2 FFTs run fine there. I also tested both versions on my Macbook Pro
(32 bit) and got the same behavior - correct results (plots) on 5.1.2 and
bad radix-2 results (plots) on 5.1.900.1.
code for the mixed-radix and radix-2. So, it isn't limited to Windows 7 or
64-bit.

Doug

On Sun, Oct 9, 2011 at 1:44 PM, Doug Williams
m.douglas.willi...@gmail.comwrote:

 I downloaded the latest pre-release version (5.1.900.1) to update the
 science collection to use the new plot collection. The good news is that
 that went very smoothly. The bad news is that some of my FFT routines seem
 to be getting incorrect numeric results - at least the plots are very bad.
 But, since all of the other plots seem fine, I don't see why these would be
 any different.

 So, I suspect that something has changed that affects the numeric
 calculations. It is just the radix-2 FFTs that are having the problem. They
 do some low-level bit fiddling to do the in-place butterfly addressing for
 the FFTs - using things like unsafe-fxlshift (which just looks unfriendly) -
 so, I suspect something there. Are the any recent changes that would affect
 these kinds of fixed-point operations?

 I've run the code under a previous version of Racket on a 64-bit Linux
 (Scientific Linux 6.0) computer and a 32-bit Windows XP computer and get
 correct results. So, I don't think it is simply a 32/64 bit problem - unless
 it is limited to 64-bit Windows.

 Sorry that was kind of rambling and non-specific, but I was wondering where
 to start looking at the problem or what would help someone else look into
 it.

 Doug



 On Fri, Oct 7, 2011 at 10:19 PM, Ryan Culpepper r...@cs.utah.edu wrote:

 The release process for v5.2 has begun: the `release' branch was
 created for any work that is left and is now bumped to v5.1.90.  You
 can go on using the `master' branch as usual, it is now bumped to
 v5.2.0.1 (to avoid having two different trees with the same version).

 If you have any bug-fixes and changes that need to go in the release
 then make sure to specify that in the commit message or mail me the
 commit SHA1s.  You can `git checkout release' to try it out directly if
 needed -- but do not try to push commits on it (the server will forbid
 it).

 Please make sure that code that you're responsible for is as stable
 as possible, and let me know if there is any new work that should
 not be included in this release.

   NOW IS THE TIME TO FIX BUGS THAT YOU KNOW ABOUT 

 The time between the `release' branch creation and the actual
 release is for fixing new errors that prevent proper functioning of
 major components and that show up during the preparation for a
 release.  You can also finalize piece of work that is not yet
 complete, but please avoid merging new features.

 Note that nightly builds will go on as usual (as v5.2.0.1), and
 pre-release builds will be available shortly at

  http://pre.racket-lang.org/release/

 Please tell me if you think that this release is significant enough
 that it should be announced on the users list for wider testing.
 --
 Ryan Culpepper
 _
  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 for v5.2 has begun

2011-10-09 Thread Doug Williams
Let me know if you want me to break anything else. My mom always hated it
when I was a kid, but it seems to be useful on pre-releases.

On Sun, Oct 9, 2011 at 7:46 PM, Matthew Flatt mfl...@cs.utah.edu wrote:

 Fixed.

 Some unsafe primitives were marked internally as functional, but this
 annotation was used with two different interpretations: sometimes as
 non-mutating, sometimes as always produces the same result. The
 `unsafe-vector-ref' primitive was marked as functional with the
 former intent, but the compiler could use the latter interpretation to
 move it past an `unsafe-vector-set!'. The solution, of course, is to
 have two distinct annotations.

 At Sun, 9 Oct 2011 15:02:13 -0600, Doug Williams wrote:
  I reloaded the older version of Racket on my Windows 7 computer and the
  radix-2 FFTs run fine there. I also tested both versions on my Macbook
 Pro
  (32 bit) and got the same behavior - correct results (plots) on 5.1.2 and
  bad radix-2 results (plots) on 5.1.900.1.
  code for the mixed-radix and radix-2. So, it isn't limited to Windows 7
 or
  64-bit.
 
  Doug
 
  On Sun, Oct 9, 2011 at 1:44 PM, Doug Williams
  m.douglas.willi...@gmail.comwrote:
 
   I downloaded the latest pre-release version (5.1.900.1) to update the
   science collection to use the new plot collection. The good news is
 that
   that went very smoothly. The bad news is that some of my FFT routines
 seem
   to be getting incorrect numeric results - at least the plots are very
 bad.
   But, since all of the other plots seem fine, I don't see why these
 would be
   any different.
  
   So, I suspect that something has changed that affects the numeric
   calculations. It is just the radix-2 FFTs that are having the problem.
 They
   do some low-level bit fiddling to do the in-place butterfly addressing
 for
   the FFTs - using things like unsafe-fxlshift (which just looks
 unfriendly) -
   so, I suspect something there. Are the any recent changes that would
 affect
   these kinds of fixed-point operations?
  
   I've run the code under a previous version of Racket on a 64-bit Linux
   (Scientific Linux 6.0) computer and a 32-bit Windows XP computer and
 get
   correct results. So, I don't think it is simply a 32/64 bit problem -
 unless
   it is limited to 64-bit Windows.
  
   Sorry that was kind of rambling and non-specific, but I was wondering
 where
   to start looking at the problem or what would help someone else look
 into
   it.
  
   Doug
  
  
  
   On Fri, Oct 7, 2011 at 10:19 PM, Ryan Culpepper r...@cs.utah.edu
 wrote:
  
   The release process for v5.2 has begun: the `release' branch was
   created for any work that is left and is now bumped to v5.1.90.  You
   can go on using the `master' branch as usual, it is now bumped to
   v5.2.0.1 (to avoid having two different trees with the same version).
  
   If you have any bug-fixes and changes that need to go in the release
   then make sure to specify that in the commit message or mail me the
   commit SHA1s.  You can `git checkout release' to try it out directly
 if
   needed -- but do not try to push commits on it (the server will forbid
   it).
  
   Please make sure that code that you're responsible for is as stable
   as possible, and let me know if there is any new work that should
   not be included in this release.
  
 NOW IS THE TIME TO FIX BUGS THAT YOU KNOW ABOUT 
  
   The time between the `release' branch creation and the actual
   release is for fixing new errors that prevent proper functioning of
   major components and that show up during the preparation for a
   release.  You can also finalize piece of work that is not yet
   complete, but please avoid merging new features.
  
   Note that nightly builds will go on as usual (as v5.2.0.1), and
   pre-release builds will be available shortly at
  
http://pre.racket-lang.org/release/
  
   Please tell me if you think that this release is significant enough
   that it should be announced on the users list for wider testing.
   --
   Ryan Culpepper
   _
For list-related administrative tasks:
http://lists.racket-lang.org/listinfo/dev
  
  
  
  _
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] New plot library pushed

2011-10-05 Thread Doug Williams
Does this mean it will it be in the next 'nightly' build?

On Wed, Oct 5, 2011 at 10:45 AM, Neil Toronto neil.toro...@gmail.comwrote:

 I've just pushed the new 'plot' library.

 Eli and I both forgot that the new 'plot' still needs the old libfit, and
 removed it along with libplplot. I just added libfit back (the sources are
 in src/fit now instead of src/plot/fit) along with the proper configure,
 Makefile.in, and get-libs.rkt changes.

 I can verify that libfit compiles on 64-bit Ubuntu. It *should* build on
 Windows and Mac. :D

 I've taken Matthew's suggestion to make the new 'plot' as
 backward-compatible as possible. Plots might still break (such as the
 example at racket-lang.org and on the Wikipedia page). Using the
 'plot/compat' module should make these work.

 This change replaces about 2 lines of C+support code with 7000 lines of
 Racket that does a lot more. Racket code for backward compatibility totals
 only 500 lines. The libfit library is about 500 lines of C+make code.

 Neil T
 __**___
  For list-related administrative tasks:
  
 http://lists.racket-lang.org/**listinfo/devhttp://lists.racket-lang.org/listinfo/dev

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

[racket-dev] Transparent Structures in XML Library

2011-10-03 Thread Doug Williams
Maybe this is general question or observation, but I specifically have the
problem with the xml module in Racket. All of the structures defined in
collects/xml/private/structures.rkt are transparent. Most of my xml files
are hundreds of thousands of bytes to tens of megabytes in size. Needless to
say, if any of these make it to a display statement, it isn't pretty.
Actually, since the structures also include location information, the result
can be (is) larger than the actual XML was.

I don't think they are transparent for any reason other than some east of
debugging - and for large xml structures it is actually (in my opinion)
detrimental to debugging. And, it doesn't help by adding an equality test
because of the location information - equal? is pretty much identical to (an
extremely slow) eq? in this case.

Could we get rid of the #:transparent option on those structures? Or, if
they are really there for a reason, at least add a prop:custom-write that
limits the potential output from printing an instance?

This is the only case where I have run into the 'problem'. But, there may be
other places it exists.

I am also guilty of using transparent structures sometimes, so I can't be
too critical here.

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

Re: [racket-dev] Transparent Structures in XML Library

2011-10-03 Thread Doug Williams
There are ways around it like that. For example, I'm trying to get in the
habit of using ~.s in printf's where it might occur. But, I think it would
be easy in this case to just fix the real problem.

On Mon, Oct 3, 2011 at 3:07 PM, Eli Barzilay e...@barzilay.org wrote:

 10 minutes ago, Doug Williams wrote:
  Maybe this is general question or observation, but I specifically
  have the problem with the xml module in Racket. All of the
  structures defined in collects/xml/private/structures.rkt are
  transparent. Most of my xml files are hundreds of thousands of bytes
  to tens of megabytes in size. Needless to say, if any of these make
  it to a display statement, it isn't pretty.  Actually, since the
  structures also include location information, the result can be (is)
  larger than the actual XML was.

 If this is printout on the repl then maybe `pretty-print-depth' is the
 right answer?

 --
  ((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] Transparent Structures in XML Library

2011-10-03 Thread Doug Williams
The fact that transparent structures also print all of their element - in
this case recursively, ad nauseam - is more of a side effect. In that case,
I think prop:custom-write properties should be added. I assume any of the
print limiting options in my case still walk the entire structure and create
a several tens of megabytes long string just to truncate it.

On Mon, Oct 3, 2011 at 3:52 PM, John Clements cleme...@brinckerhoff.orgwrote:


 On Oct 3, 2011, at 2:13 PM, Doug Williams wrote:

  There are ways around it like that. For example, I'm trying to get in the
 habit of using ~.s in printf's where it might occur. But, I think it would
 be easy in this case to just fix the real problem.

 I don't think I would agree that #:transparent is the problem here;
 #:transparent means yes, anyone can use the reflective properties to
 discover how many fields this structure has, what the mutators are, etc.
  It's not fundamentally about printing.

 So I think that a separate control on printing is definitely the right way
 to go, and in particular, the ~.s choice seems like it might just solve the
 problem completely.

 No?

 John


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

Re: [racket-dev] Transparent Structures in XML Library

2011-10-03 Thread Doug Williams
Basically, I'm just suggesting that the xml package have sensible printing
of its structures. I can't imagine any case where you really want the
default printing of recursive structures of that complexity and potential
size to be the visible behavior.

Where it was annoying me was in my inference engine when I was doing
inference across very large xml documents. I have a trace feature in the
inference engine to trace assertions that is very useful for debugging
rules. You can imagine the output when I turned it on the first time with
one of the large xml documents. Literally, one assertion was 100+ pages.

I've pushed a new version of the inference engine that uses ~.s throughout.
So, at least it prints it reasonable. But, it is still continually walking
the structures and building a huge string (at least 10s of megabytes each at
the highest levels). And, it has to do that for every assertion in a trace.

At least I have a large memory machine with plenty of memory (and, thanks to
you guys, a 64-bit windows version), so it does run. It's just annoying.

On Mon, Oct 3, 2011 at 4:34 PM, Matthias Felleisen matth...@ccs.neu.eduwrote:


 Doug, does this concrete example concerning printing help:

 #lang racket/load

 (module a racket/base
  (struct xml (bar) #:transparent)

  (define x (xml bar))
  (displayln x)

  (provide (struct-out xml) x))

 (module b racket/base
  (require 'a)

  (struct my xml () #:property prop:custom-write (lambda (x p z) (displayln
 my xml p)))

  (define y (my bar))

  (displayln y))

 (require 'b)



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

Re: [racket-dev] Transparent Structures in XML Library

2011-10-03 Thread Doug Williams
I could. But then everyone who wants to use large xml file in places where
they potentially print would have to do the same thing. And, remember that
'large' in this case is anything other than a  rather small XML file.

On Mon, Oct 3, 2011 at 5:49 PM, Matthias Felleisen matth...@ccs.neu.eduwrote:


 I understand. Specifics:

 On Oct 3, 2011, at 7:45 PM, Doug Williams wrote:

 Basically, I'm just suggesting that the xml package have sensible printing
 of its structures. I can't imagine any case where you really want the
 default printing of recursive structures of that complexity and potential
 size to be the visible behavior.



 When you write very small XML pieces of data (say something that fits on 80
 lines, 80 chars each), this kind of printing is just fine.


 Where it was annoying me was in my inference engine when I was doing
 inference across very large xml documents. I have a trace feature in the
 inference engine to trace assertions that is very useful for debugging
 rules. You can imagine the output when I turned it on the first time with
 one of the large xml documents. Literally, one assertion was 100+ pages.

 I've pushed a new version of the inference engine that uses ~.s throughout.
 So, at least it prints it reasonable. But, it is still continually walking
 the structures and building a huge string (at least 10s of megabytes each at
 the highest levels). And, it has to do that for every assertion in a trace.



 I am proposing an alternative approach. Write an adapter module for the XML
 library that does NOT bother to traverse the structure to create some huge
 and useless string.

 Is this possible for your world?

 -- Matthias




 At least I have a large memory machine with plenty of memory (and, thanks
 to you guys, a 64-bit windows version), so it does run. It's just annoying.









 On Mon, Oct 3, 2011 at 4:34 PM, Matthias Felleisen 
 matth...@ccs.neu.eduwrote:


 Doug, does this concrete example concerning printing help:

 #lang racket/load

 (module a racket/base
  (struct xml (bar) #:transparent)

  (define x (xml bar))
  (displayln x)

  (provide (struct-out xml) x))

 (module b racket/base
  (require 'a)

  (struct my xml () #:property prop:custom-write (lambda (x p z) (displayln
 my xml p)))

  (define y (my bar))

  (displayln y))

 (require 'b)





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

Re: [racket-dev] Adding the new plot library [was: Re: Plot?]

2011-09-30 Thread Doug Williams
In the science and simulation collections I explicitly hid the usage of PLoT
- thus, all of the -plot routines in separate modules. The original PLoT has
always been something of a kludge - albeit a useful one - that I expected to
be replaced at some point. Bring it on!

On Fri, Sep 30, 2011 at 4:16 AM, Neil Van Dyke n...@neilvandyke.org wrote:

 I think concern about backward-compatibility is great.  (For example,
 moving to non-mutable pairs was painful for one of my libraries.  #:exists
 without backward-compatibility or static checking was annoying.)

 I have two questions:

 1. Does anyone think that there is likely any *substantial* *current* use
 of the plotting-related C code in question that you *don't* know about?  Or
 do you probably know of all the people who might be affected, and you can
 work with them on this question?

 2. If you want to get some C code out of core Racket, does the option of
 moving it to PLaneT simplify things?

 --
 http://www.neilvandyke.org/

 __**___
  For list-related administrative tasks:
  
 http://lists.racket-lang.org/**listinfo/devhttp://lists.racket-lang.org/listinfo/dev

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

Re: [racket-dev] [racket] Question about round

2011-09-30 Thread Doug Williams
And, how about adding finite? and its ilk from r6rs into #lang racket. I
have them in science/math, but they are probably core level routines. I had
mentioned before that we probably should see what from science/math might be
more useful in the core.

On Fri, Sep 30, 2011 at 12:22 PM, Vincent St-Amour stamo...@ccs.neu.eduwrote:

 At Fri, 30 Sep 2011 11:31:47 -0500,
 Robby Findler wrote:
  Just to clear up one more possible point: the rational? predicate
  actually recognizes inexact numbers, eg:
 
  [robby@penghu] ~/git/plt/collects/drracket/private$ racket
  Welcome to Racket v5.1.3.9.
   (rational? (sqrt 2))
  #t

 This is probably less problematic than `integer?', since `rational?'
 is (I assume) less used. But this is the same problem.

 If we decide to change one, we should change both.

 Vincent
 _
  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] Adding the new plot library [was: Re: Plot?]

2011-09-29 Thread Doug Williams
Neil,

I haven't had a chance to read the thread thoroughly - hopefully I can this
evening at home. But, I'd like to update the science collection graphics to
use it. Fortunately, all of the graphics routines are in separate modules,
so it shouldn't be too bad. I do use the plot extensions to add new
capabilities to the current plot package - for example, for 1d and 2d
histograms. Is the plot extension capability still there? [It wouldn't be
that hard to write the histograms from scratch if it isn't.]

Also, in my analysis code at work we do use the contour plots for some
things. Pretty much everything else is in my own specialized plot packages.

Doug

On Thu, Sep 29, 2011 at 4:25 PM, Neil Toronto neil.toro...@gmail.comwrote:

 On 09/29/2011 12:28 PM, Eli Barzilay wrote:

 Just now, Robby Findler wrote:

 On Thu, Sep 29, 2011 at 1:25 PM, Eli Barzilaye...@barzilay.org  wrote:

 The issue is not pixel placements, it's keeping the C code that was
 ripped out of gnuplot.


 So I guess I don't understand. Why would we want to keep that? (I
 can see why we would want to get rid of it.)


 Because you wanted to have a completely compatible interface?
 (Excluding pixels.)

 My point was that if you don't keep it (which I very strongly prefer),
 then you don't have a compatible interface to plot anyway, and
 changing the name from `plot' to `plot/compat' makes more sense.


 The pixels that make up the plots generated by the compatibility library
 are quite different. But I can't imagine that nicer plots will be anything
 but a pleasant surprise.

 So I don't want to read about pixels anymore. Seriously. Logical reductio
 ad absurdum about pixels in pictures - which are valuable because of their
 *semantic* content - borders on fallacious. It won't get us anywhere.

 What will is discussing the most important user interactions.

 --

 The first is what happens when users run old code that uses the 'plot'
 library.

  - (Robby/Sam) The compatibility library is 'collects/plot' and the new
 library is 'collects/rackplot' (or 'collects/omg-raph' or whatever): their
 code just runs.

  - (Eli) The compatibility library is 'collects/plot/compat' and the new
 library is 'collects/plot': some code will run with more changes than just
 pixels (semantic errors in the plots), some will give runtime errors, and
 most will give compile-time errors.

 Examples:

 (plot (points (list (vector a b) ...)))
  = Runs, but puts tighter bounds on the plot (semantic error)

 (plot (error-bars (list (vector a b c) ...)))
  = Runs, but puts tighter bounds on the plot (semantic error)

 (plot (points (list (vector a b) ...) #:sym 'fullsquare))
  = points: does not expect an argument with keyword #:sym

 (plot (vector-field (λ (v) v)))
  = vector-field: contract violation, expected a procedure that accepts 2
 mandatory arguments without any keywords, given: #procedure
  contract from: (function vector-field), blaming:
collects/plot/plot2d/point.**rkt

 (plot (line sqr))
  = expand: unbound identifier in module in: line

 Also, 'contour', 'shade' and 'surface' do the same as 'line'.


 Observations: There's nothing that tells the user that changing (require
 plot) to (require plot/compat) will fix the errors. It just looks like
 random fail. But if it's random fail only once for a very small percentage
 of users, it might be okay-ish.

 --

 The second interaction is what happens when new users look for plot in
 the manual.

  - (Robby/Sam): They get the old 'plot'. Clicking on it reveals a big red
 deprecation warning, and a link to the new stuff. Of course, that doesn't
 guarantee that they will *read* the warning.

  - (Eli): They get the new 'plot', with a note about the compatibility
 library that they can ignore.


 Observations: With Robby/Sam's idea, the apparent bait-and-switch, and
 needing two clicks to get to the right library, is also fail. And it lasts
 for years until we finally decide to rip out the compatibility library, and
 thus break more code.

 --

 To me, the ideal would be to name the compatibility library
 'collects/plot', and then somehow keep it from showing up in searches.

 Oh, and also push 'mrlib/plot' downward in the search results. What is
 that, anyway? It seems that nothing in the collects uses it.

 Neil T

 __**___
  For list-related administrative tasks:
  
 http://lists.racket-lang.org/**listinfo/devhttp://lists.racket-lang.org/listinfo/dev

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

[racket-dev] Cross-Collection Documentation - a PLaneT Philosophy Question (or Two)

2011-09-22 Thread Doug Williams
I have three PLaneT packages that together implement a knowledge-based
simulation capability. I did this because each of the packages is useful in
its own right. The science collection provides the basic mathematical
framework - I use it separately in many analysis applications. The
simulation collection provides a hybrid discrete-event and continuous
simulation engine. The inference collection provides a hybrid
forward-chaining and backward-chaining inference engine.

Although they were developed together and I often use them together, they
are separate collections. As such, they are documented separately and the
examples in each are specific to that collection. Now, I have written a good
example knowledge-based simulation that cuts across all of them and I am
planning on developing documentation on how to use the packages together.
Should I package this up as a PLaneT package itself although it doesn't add
any new functionality? Is there a better way to distribute something like
this - more like an application note than an applicaton? It seems to be the
only way to do it in the current framework. [It will be in the Schematics
repository on Sourceforge. But I pretty much just use that as my development
repository.]

Also, when using the simulation collection one (almost) always uses the
random distributions from the science collection. In my development branch,
I have now just re-exported the random distributions in the science
collection from the simulation collection. Thus, I only have the one PLaneT
require in user code instead of two. [I don't want to move the random
distributions to the simulation collection because they really are part of
the mathematical framework and logically belong in the science collection.]
Is this going to bite me later if someone needs other elements of the
science collection and does a separate require - i.e., will the names
conflict even though they are (ultimately) the same objects?

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

[racket-dev] Can't use 5.1.2 and later

2011-08-28 Thread Doug Williams
I reported a problem a few weeks back that keeps me from using 5.1.2 (and
now 5.1.3). Matthew believes it is due to an optimizer bug with boxes.
Fortunately, 5.1.1 works, but we're stuck there. I tried the latest nightly
build this morning and the error is still there. [That was mainly just a
friendly nudge to Matthew.]

Anyway, the real reason for this e-mail is that the latest nightly build
(which was plt-3.1.3.6-bin-x86_64-win32.exe) gave me another problem. When I
downloaded the science collection from PLaneT using the latest nightly
build, it gave me errors about expecting a module for some files. There are
indeed some rkt files that are included - using include - that are not
modules. But, they are in the compile-omit-files in the info.rkt file. Is
this being deprecated in some way?

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

Re: [racket-dev] Can't use 5.1.2 and later

2011-08-28 Thread Doug Williams
You might try running science-test.rkt multiple times and see if it fails.
It's the simulation collection where I see the problem mostly. It uses the
differential equation solver from the science collection, which is the only
place I know of that uses boxes, but there may be others. I was using
Windows 7 64-bit today when I tried it. I'll see if science-test works for
me.

When it does fail for me now, it is consistently with a seg fault in gc.

I'll keep checking nightly builds on my home machine in the evenings.

I'll look into the unsafe-fl* error.

Thanks,
Doug

On Sunday, August 28, 2011, Matthew Flatt mfl...@cs.utah.edu wrote:
 At Sun, 28 Aug 2011 13:18:36 -0600, Doug Williams wrote:
 I reported a problem a few weeks back that keeps me from using 5.1.2 (and
 now 5.1.3). Matthew believes it is due to an optimizer bug with boxes.
 Fortunately, 5.1.1 works, but we're stuck there. I tried the latest
nightly
 build this morning and the error is still there.

 I thought I had fixed that one with push d185c2a0df45 in the git repo.

 The line

  (require (planet williams/science/examples/science-test.ss))

 works for me (Mac OS X, 32-bit Windows, 64-bit Windows). Am I trying
 the right example?


 Anyway, the real reason for this e-mail is that the latest nightly build
 (which was plt-3.1.3.6-bin-x86_64-win32.exe) gave me another problem.
When I
 downloaded the science collection from PLaneT using the latest nightly
 build, it gave me errors about expecting a module for some files. There
are
 indeed some rkt files that are included - using include - that are not
 modules. But, they are in the compile-omit-files in the info.rkt file. Is
 this being deprecated in some way?

 I see that problem (i.e., errors when I use the `require' line above),
 and it's related to recent changes for `raco link'. I've pushed a
 repair in time for tonight's build.


 BTW, the bytecode optimizer notices that `unsafe-fl*' is applied to
 three arguments in statistics.rkt. Looks like it's on line 713.


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

[racket-dev] Problem with latest nightly build

2011-08-15 Thread Doug Williams
I downloaded the latest nightly build to test a fix that Matthew pushed.
That fix (a refresh problem) worked, but when I tried to run some
numerically intensive things - like the test for the science collection - I
ran into problems. The science test hangs on the last differential equation
test - eventually it runs out of memory. Some other examples seg fault in
the garbage collector. I tried both 32 and 64 bit windows versions and they
both had the same symptoms. These all work fine in 5.1.2. I tried a nightly
build from yesterday (5.1.2.4) and one from this morning (5.1.3.1) and they
both had the problem.

Sorry I can't be more specific. You can require the science collection from
PLaneT - williams/science/science - and run science.test.ss. That one fails
every time for me by running out of memory eventually - I typically have
memory limited to 4096MB on a 64-bit build or 2048 on a 32-bit build. I also
tried some of the simulation examples that use the same differential
equation solver - they're in williams/simulation/simulation. For example,
model-2a.ss will sometime run fine and sometimes fail with a seg fault.
Another one that fails sometimes and runs others is interactions.ss in the
simulation collection.

Let me know if I can get you any other information on the problem.

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

[racket-dev] Different refresh behavior between 4.2.5 and 5.0+

2011-08-04 Thread Doug Williams
I would like to migrate my production machines from the current PLT Scheme
4.2.5 to the latest release of Racket.However, there is one annoying
graphics inconsistency with graphics refresh that is giving me problems. For
some of my graphics programs, I update many canvases - some visible and some
not, depending on what tabs are selected - and afterwards I just issue one
(send the-frame refresh). This works fine in 4.2.5. However, in 5.0+ (at
least the last couple versions), some of the canvases update and some don't.
One can switch to a different tab and back to force the repaint and that
works, but obviously annoys the users. I haven't experimented enough to
track down exactly which do and which don't. [I rolled my production
machines back to 4.2.5 and haven't moved that code to a development machine
to play with it.]

There seem to be a couple of open bugs reports that may or may not be
related - 11759 and 12065.

On my development code that has a similar problem I moved the refreshes down
to the individual canvases (as they are updated) and that works. But it
seems that one refresh of the frame at the end should work just a well. Is
this a new feature that I missed somewhere or a bug?

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

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

2011-07-21 Thread Doug Williams
I ran the plot tests and plot extensions in the science collection and they
worked as expected.

Doug

On Tue, Jul 19, 2011 at 3:16 PM, Ryan Culpepper r...@cs.utah.edu wrote:

 Checklist items for the v5.1.2 release
  (using the v5.1.1.900 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.1.2.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 Tests
  - 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.
  Updates:
  - Racket Updates: update HISTORY
  (updates should show v5.1.2 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
  Updates:
  - DrRacket Updates: update HISTORY
  (updates should show v5.1.2 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.1.2 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.1.2 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

 * Casey Klein clkl...@eecs.northwestern.edu
  - Redex Tests
  Updates:
  - Redex Updates: update HISTORY
  (updates should show v5.1.2 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 ry...@ccs.neu.edu
  - Macro Debugger Tests
  - Syntax Classifier Tests
  - RackUnit GUI Tests
  - Data Tests

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

 * Paul Steckler st...@stecksoft.com
  - MysterX Tests
  - MzCOM 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)

 * Sam Tobin-Hochstadt sa...@ccs.neu.edu
  - Match Tests
  - Typed Racket Tests

 * 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
  - Plot Tests
  - Verify that the unix installer works in both modes
  - Racket Tree: compare new distribution tree to previous one
  Version Updates: if a major change has happened, update the version
  number in:
  - racket/collects/mzscheme/info.rkt
  - racket/collects/mred/info.rkt

 * Doug Williams m.douglas.willi...@gmail.com
  - Plot Tests

 * 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

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

2011-04-21 Thread Doug Williams
All of the plot tests and plot extensions in the science collection work as
expected.

On Wed, Apr 20, 2011 at 9:41 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:

 Checklist items for the v5.1.1 release
  (using the v5.1.0.900 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.1.1.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 Tests
  - 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.
  Updates:
  - Racket Updates: update HISTORY
  - GRacket Updates: update README, HISTORY
  (updates should show v5.1.1 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
  Updates:
  - DrRacket Updates: update HISTORY
  (updates should show v5.1.1 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.1.1 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.1.1 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

 * Casey Klein clkl...@eecs.northwestern.edu
  - Redex Tests
  Updates:
  - Redex Updates: update HISTORY
  (updates should show v5.1.1 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 ry...@ccs.neu.edu
  - Macro Debugger Tests
  - Syntax Classifier Tests
  - RackUnit GUI Tests
  - Data Tests

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

 * Paul Steckler st...@stecksoft.com
  - MysterX Tests
  - MzCOM 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)

 * Sam Tobin-Hochstadt sa...@ccs.neu.edu
  - Match Tests
  - Typed Racket Tests

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

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

 * Doug Williams m.douglas.willi...@gmail.com
  - Plot Tests

 * 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
  - 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

Re: [racket-dev] Final v5.1 build is ready

2011-02-11 Thread Doug Williams
I retested the PLoT package and my graphics and everything works as
expected.

On Fri, Feb 11, 2011 at 12:28 PM, Eli Barzilay e...@barzilay.org wrote:

 The final v5.1 build is now ready at the same place:

   http://pre.racket-lang.org/5.1/installers

 It is a good idea to run quick tests with it to make sure that
 version related functionality is working fine.  (Specifically,
 PLaneT tests by Robby, and Dracula tests by Carl.)
 --
  ((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

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

Re: [racket-dev] Pre-Release Checklist for v5.1, second call

2011-02-04 Thread Doug Williams
The plot demos and the plot extensions from the science collection all work
as expected.

Doug

On Thu, Feb 3, 2011 at 9:08 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:

 Checklist items for the v5.1 release
  (using the v5.0.99.900 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.1.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
  Robby Findler ro...@eecs.northwestern.edu
  - Create an executable from a BSL program.

 * 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.1 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

 * 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)

 * Sam Tobin-Hochstadt sa...@ccs.neu.edu
  - Match Tests

 * Eli Barzilay e...@barzilay.org
  - Verify that the unix installer works in both modes
  Version Updates: if a major change has happened, update the version
  number in:
  - racket/collects/mzscheme/info.rkt
  - racket/collects/mred/info.rkt

 * Doug Williams m.douglas.willi...@gmail.com
  - Plot Tests

 * 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
  - 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]

 --
 Ryan Culpepper

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

[racket-dev] (no subject)

2011-01-21 Thread Doug Williams
What is the best way to perform actions after a sequence terminates? Here is
a simple example that is like in-lines, but takes a path instead of a port.
It works, but I was wondering if there is a better way to do it.

(define (in-file-lines path)
  (let ((port (open-input-file path #:mode 'text)))
(make-do-sequence
 (lambda ()
   (values
(lambda (_) (read-line port 'any))
void
(void)
void
(lambda _ (if (eof-object? (peek-byte port))
  (begin
(close-input-port port)
#f)
  #t))
void)

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

Re: [racket-dev] in-file-lines sequence

2011-01-21 Thread Doug Williams
Thanks for the fix and suggestions.

On Fri, Jan 21, 2011 at 1:37 PM, Matthew Flatt mfl...@cs.utah.edu wrote:

 At Fri, 21 Jan 2011 10:53:42 -0700, Doug Williams wrote:
  What is the best way to perform actions after a sequence terminates? Here
 is
  a simple example that is like in-lines, but takes a path instead of a
 port.
  It works, but I was wondering if there is a better way to do it.
 
  (define (in-file-lines path)
(let ((port (open-input-file path #:mode 'text)))
  (make-do-sequence
   (lambda ()
 (values
  (lambda (_) (read-line port 'any))
  void
  (void)
  void
  (lambda _ (if (eof-object? (peek-byte port))
(begin
  (close-input-port port)
  #f)
#t))
  void)

 I think you mean

  (define (in-file-lines path)
   (let ((port (open-input-file path #:mode 'text)))
 (make-do-sequence
  (lambda ()
(values
 (lambda (_) (read-line port 'any))
 void
 (void)
 void
 (lambda (v) (if (eof-object? v) ; --
 (begin
   (close-input-port port)
   #f)
 #t))
 void)

 so that the last line is included in the sequence. Otherwise, I don't
 have any better suggestions.

 Beware that if the sequence stops being used before you get to the end
 of the file, then the port won't be closed:

  (for ([line (in-file-lines file)]
   [elem (in-list '(1 2 3))])
...)
  ; port isn't closed if it has more than 3 lines

 But the sequence protocol doesn't give a sequence any way to know that
 it isn't being used, other than GC-based finalization --- which is
 probably a bad idea for file ports, since you can run out of available
 file descriptors much faster than available memory.


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

Re: [racket-dev] (round), etc. in Typed Racket

2010-12-12 Thread Doug Williams
Since Racket is not Scheme anymore, I think revisiting some of the
annoyances of Scheme should be fair game. And, certainly the semantics of
integer? is an annoyance. It is useful if you KNOW you are restricted to a
range where floating point CAN exactly represent an integer (|x|  15 or so)
and you KNOW you don't have any rounding errors, otherwise it isn't.

For example:
 (integer? (+ 1.0e15 0.5))
#f
 (integer? (+ 1.0e16 0.5))
#t

For Typed Racket, I'm not sure there could ever by a safe use of an integer
type with those semantics.

The semantics of integer? is just a (very limited) subset of what fcmp (
http://fcmp.sourceforge.net/) does. From the web page, It is generally not
wise to compare two floating-point values for exact equality, for example
using the C == operator. The fcmp package implements Knuth's suggestions for
safer floating-point comparison operators as a C function. As an aside,
fcmp is in the science collection.

Doug

On Sun, Dec 12, 2010 at 7:28 AM, Robby Findler
ro...@eecs.northwestern.eduwrote:

 On Sun, Dec 12, 2010 at 8:15 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu
 wrote:
  On Sat, Dec 11, 2010 at 10:53 PM, Robby Findler
  ro...@eecs.northwestern.edu wrote:
 
  Changing Racket is tricky, but I think using the `Integer' type for
  something useless (it's not even currently represented in the TR type
  system) would be a mistake.
 
  Well, the change to TR would be to change Integer to ExactInteger
  (or similar) presumably, not to add a useless type.
 
  I think not having an `Integer' type would be just as bad.
 
  Given that (integer? 3.0) = #t, I think there will be an inevitable
  discrepancy between what people expect and what the type system does.
  One of these definitions has to not type check:
 
  (: x : Integer)
  (define x 1)
 
  (: f : Integer - Integer)
  (define (f x) (add1 x))
 
  (: g : Any - Integer)
  (define (g x) (assert x integer?))
 
  You're suggesting the first one fail, because `Integer' would go away.
   Right now only `g' fails.  Adding an `Integer' type that corresponds
  to `integer?' would make `f' fail.  My feeling is that the fewest
  people will run into `g', and that it's therefore the right choice,
  since there will be a FAQ about this regardless.

 Well, IMO, given that the main driving design force behind TR is
 matching up with Racket that you should not pick a simple convention
 for relating Racket predicates to Typed Racket types and stick with it
 (unless you can change Racket and, in this case, changing Racket seems
 too hard). When you make exceptions to this rule, you'd want to do
 that carefully and have big warnings in the docs, etc.

 Another possible compromise point would be to have two types, Integer
 and ExactInteger where Integer is a kind of alias for ExactInteger
 that the type system itself never prints out, but that it accepts as
 input. And perhaps you could even have a #:warn directive (like the
 optimization flag) that would print out messages complaining about
 using such aliases or something.

 Or would it be possible to have a type Integer that actually matched
 what integer? does? That would have the problem that people might
 expect optimizations to kick when they wouldn't, but perhaps that's
 the least painful point (well, I guess adding more complication to the
 number hierarchy type system is its own source of pain ...)

 Robby
 _
  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] GRacket2 builds

2010-10-31 Thread Doug Williams
I tried loaded it on my Windows 7 box and it doesn't run because of missing
dll files. The first one was zlib1.dll. I found that one and now it wants
libpng14-14.dll. I'll continue tracking them down.

On Sat, Oct 30, 2010 at 4:44 PM, Eli Barzilay e...@barzilay.org wrote:

 In case you want to try out the new gracket2 functionality, you can do
 that by using pre-made installers from

  http://pre.racket-lang.org/gr2/installers/

 I will make new builds from time to time, as the branch is updated.

 --
  ((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

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

Re: [racket-dev] GRacket2 builds

2010-10-31 Thread Doug Williams
I loaded GTK+ 2.20.0, which seems to have all of the libraries. But, it dies
with the following error on my Windows 7 (64-bit) box.

ffi-obj: couldn't get pango_layout_get_line from libpangocairo-1.0-0.dll
(Th
e specified procedure could not be found.; errno=127)

 === context ===
C:\Program Files (x86)\Racket-5.0.2.2\collects\ffi\unsafe.rkt:176:2:
get-ffi-obj
*
C:\Program Files (x86)\Racket-5.0.2.2\collects\racket\draw\unsafe\pango.rkt:
[ru
nning body]
C:\Program Files (x86)\Racket-5.0.2.2\collects\racket\draw\private\font.rkt:
[tr
aversing imports]
C:\Program Files
(x86)\Racket-5.0.2.2\collects\racket\draw\private\post-script-d
c.rkt: [traversing imports]
C:\Program Files (x86)\Racket-5.0.2.2\collects\racket\draw.rkt: [traversing
impo
rts]
C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\private\const.rkt:
[traversi
ng imports]
C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\private\check.rkt:
[traversi
ng imports]
C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\mred.rkt: [traversing
import
s]
C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\main.rkt: [traversing
import
s]
C:\Program Files (x86)\Racket-5.0.2.2\collects\racket\gui\base.rkt:
[traversing
imports]
C:\Program Files (x86)\Racket-5.0.2.2\collects\drracket\drracket.rkt:
[traversin
g imports]


[Exited. Close box or Ctrl-C closes the console.]


On Sun, Oct 31, 2010 at 12:39 PM, Matthew Flatt mfl...@cs.utah.edu wrote:

 You can get the libraries from github.com/mflatt/gracket-libs.

 Unfortunately, I think I broke the Windows build in other ways that I have
 been trying to fix this morning.



 On Oct 31, 2010, at 11:59 AM, Doug Williams m.douglas.willi...@gmail.com
 wrote:

 I tried loaded it on my Windows 7 box and it doesn't run because of missing
 dll files. The first one was zlib1.dll. I found that one and now it wants
 libpng14-14.dll. I'll continue tracking them down.

 On Sat, Oct 30, 2010 at 4:44 PM, Eli Barzilay  e...@barzilay.org
 e...@barzilay.org wrote:

 In case you want to try out the new gracket2 functionality, you can do
 that by using pre-made installers from

   http://pre.racket-lang.org/gr2/installers/
 http://pre.racket-lang.org/gr2/installers/

 I will make new builds from time to time, as the branch is updated.

 --
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
 http://barzilay.org/http://barzilay.org/
 Maze is Life!
 _
  For list-related administrative tasks:
   http://lists.racket-lang.org/listinfo/dev
 http://lists.racket-lang.org/listinfo/dev


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


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

Re: [racket-dev] GRacket2 builds

2010-10-31 Thread Doug Williams
And, it gets the same error with the gracket-libs from git.

On Sun, Oct 31, 2010 at 12:46 PM, Doug Williams 
m.douglas.willi...@gmail.com wrote:

 I loaded GTK+ 2.20.0, which seems to have all of the libraries. But, it
 dies with the following error on my Windows 7 (64-bit) box.

 ffi-obj: couldn't get pango_layout_get_line from
 libpangocairo-1.0-0.dll (Th
 e specified procedure could not be found.; errno=127)

  === context ===
 C:\Program Files (x86)\Racket-5.0.2.2\collects\ffi\unsafe.rkt:176:2:
 get-ffi-obj
 *
 C:\Program Files
 (x86)\Racket-5.0.2.2\collects\racket\draw\unsafe\pango.rkt: [ru
 nning body]
 C:\Program Files
 (x86)\Racket-5.0.2.2\collects\racket\draw\private\font.rkt: [tr
 aversing imports]
 C:\Program Files
 (x86)\Racket-5.0.2.2\collects\racket\draw\private\post-script-d
 c.rkt: [traversing imports]
 C:\Program Files (x86)\Racket-5.0.2.2\collects\racket\draw.rkt: [traversing
 impo
 rts]
 C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\private\const.rkt:
 [traversi
 ng imports]
 C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\private\check.rkt:
 [traversi
 ng imports]
 C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\mred.rkt: [traversing
 import
 s]
 C:\Program Files (x86)\Racket-5.0.2.2\collects\mred\main.rkt: [traversing
 import
 s]
 C:\Program Files (x86)\Racket-5.0.2.2\collects\racket\gui\base.rkt:
 [traversing
 imports]
 C:\Program Files (x86)\Racket-5.0.2.2\collects\drracket\drracket.rkt:
 [traversin
 g imports]


 [Exited. Close box or Ctrl-C closes the console.]



 On Sun, Oct 31, 2010 at 12:39 PM, Matthew Flatt mfl...@cs.utah.eduwrote:

 You can get the libraries from github.com/mflatt/gracket-libs.

 Unfortunately, I think I broke the Windows build in other ways that I have
 been trying to fix this morning.



 On Oct 31, 2010, at 11:59 AM, Doug Williams m.douglas.willi...@gmail.com
 wrote:

 I tried loaded it on my Windows 7 box and it doesn't run because of
 missing dll files. The first one was zlib1.dll. I found that one and now it
 wants libpng14-14.dll. I'll continue tracking them down.

 On Sat, Oct 30, 2010 at 4:44 PM, Eli Barzilay  e...@barzilay.org
 e...@barzilay.org wrote:

 In case you want to try out the new gracket2 functionality, you can do
 that by using pre-made installers from

   http://pre.racket-lang.org/gr2/installers/
 http://pre.racket-lang.org/gr2/installers/

 I will make new builds from time to time, as the branch is updated.

 --
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
 http://barzilay.org/http://barzilay.org/
 Maze is Life!
 _
  For list-related administrative tasks:
   http://lists.racket-lang.org/listinfo/dev
 http://lists.racket-lang.org/listinfo/dev


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



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

Re: [racket-dev] try the GRacket2 branch

2010-10-31 Thread Doug Williams
I got GRacket2 running under Ubuntu. In general, things work as expected. It
is my animations that I'm most concerned about and some work and some don't.
I've only tried the ones that are available on PLaneT - I haven't even
checked any of the others yet.

The animated-canvas library that I have on PLaneT has two examples. The
histogram-test.rkt example works as expected. The lines.rkt example draws a
few lines and then locks up. Adding a (yield) after (send canvas
swap-bitmaps) in line 55 gets it to run - sort of. The animation is fairly
smooth for 10 sets of lines, but is really strange at 50 (for example) -
with this machine on the old GRacket it would be smooth at 100. And, my stop
button implementation doesn't work will - it just sets a global and the
graphics routines exit when they see it set - it eventually stops, but may
require 10 to 15 seconds or so. I suspect that the animated-canvas
functionality for double-buffering may not be needed anymore and the 'flush'
operations are what I need to look at.

The interactions.ss file in the simulation package on PLaneT also required a
(yield) after line 107 to give the animation effect - there is no double
buffering or anything here. But, with that added, it seems to run fine.

I guess I need a better understanding of how the new canvas is working in
order to deprecate the animated-canvas capability for my animations. Any
thoughts, Matthew?

Doug

On Thu, Oct 28, 2010 at 12:25 AM, Matthew Flatt mfl...@cs.utah.edu wrote:

 The git repository now includes a gr2 branch for the new
 implementation of `racket/gui', which we've been informally calling
 GRacket2.

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

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

[racket-dev] Scribble Racket Code with Here Strings

2010-10-29 Thread Doug Williams
I sometimes use here strings for readability when building queries, etc.
For example:

(let-values (((variables results)
  (get-repository-query-tuple r
#---
select * from {x} sys:repositoryID {y}
using namespace
  sys = http://www.openrdf.org/config/repository#
---
  #:query-language 'SERQL)))
  (printf Repository ids = ~s~n
  (for/list ((bindings (in-list results)))
(binding-string (bindings-ref bindings 'y)

But I haven't found a good way to document this (as Racket code) in
Scribble. Everything I've tried renders like:

  (let-values (((variables results)(
get-repository-query-tuple r  select * from {x}
sys:repositoryID {y}\r\nusing namespace\r\n  sys = 
http://www.openrdf.org/config/repository#\r
#:query-language 'SERQL)))(printf Repository ids = ~s~n(
for/list ((bindings (in-list results)))  (binding-string (
bindings-ref bindings 'y)

That is, the here string has been rendered as a normal string with lots of
whitespace after.

Any ideas?

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

Re: [racket-dev] Yikes! Images in science collection could be much smaller

2010-10-29 Thread Doug Williams
I'm in the process of updating all of my collections to Racket. I have most
of the smaller ones done - animated-canvas, describe (with documentation
this time), packed-binary, and uuid - with only table-panel left to go.
Right now I'm finishing up the documentation for my new sesame library - an
interface to the Sesame RDF triples store - that I'll release this weekend.
[I need it for my 'real' job.] Then I'll move on to the 'big three' -
science, simulation, and inference. They'll take me a while because of their
size and complexity.But, I'll redo the graphics to PNG format at that time.

On Fri, Oct 29, 2010 at 6:45 PM, John Clements cleme...@brinckerhoff.orgwrote:

 Your science collection stores images as bitmaps.  Storing them as png's
 instead reduces their size by about 99%. This is lossless, so there's no
 reduction in quality.

 If I'm doing the math correctly, this could reduce the size of the
 installed science collection from about 78 megabytes to about 7 megabytes
 (it looks like there are three copies of everything).

 John


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

[racket-dev] Equality test for Not-A-Number

2010-10-27 Thread Doug Williams
What is the correct way to test for +nan.0 in Racket? For example, (= +nan.0
+nan.0) = #f. This seems to be the behavior specified in R6RS. In the
science collection I implemented nan? using eqv?, which seems to work in
Racket; but the result is explicitly unspecified in R6RS, which I assume
means that it's up to the implementation. Which pretty much leaves eq? as
the proper test. R6RS includes primitives like nan? and infinite?, which I
included a long time ago in the science collection. Obviously one can use
them from the r6rs libraries, but should they be moved into the racket
language?

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

Re: [racket-dev] Release for v5.0.2 has begun

2010-10-25 Thread Doug Williams
Here is one example.

 (make-discrete-histogram
  (case- (-r ((n1 integer?)
(n2 (and/c integer?
   (=/c n1)))
(dynamic? boolean?))
   discrete-histogram?)
  (-r ((n1 integer?)
(n2 (and/c integer?
   (=/c n1
   discrete-histogram?)
  (- discrete-histogram?)))

This code predates optional and keyword parameters. In cases like this, I
can rewrite them using optional parameters.

But, in the random distribution functions it is the first argument that is
optional and that won't work. So, for example the flat (i.e., uniform)
distribution includes a contract:

  (case- (-r ((r random-source?)
(a real?)
(b (/c a)))
   real?)
  (-r ((a real?)
(b (/c a)))
   real?)))

I'm not sure that one can be easily rewritten in the current contract
system. [I think I would have to move the b  a constraint into the code
itself in the current contract system. Or, change the argument order and
break backward compatibility.]

Doug


On Sun, Oct 24, 2010 at 6:23 PM, Robby Findler
ro...@eecs.northwestern.eduwrote:

 The new case- only supports simple contracts, that's right. If you
 have more complex ones that it would be helpful to support (and can
 share them), that would help us guide our efforts.

 Thanks,
 Robby

 On Sun, Oct 24, 2010 at 7:04 PM, Doug Williams
 m.douglas.willi...@gmail.com wrote:
  The main problem I'm having is that the code has been around awhile and
  hasn't been fully converted to Racket - in particular it uses the scheme
  language (instead of the racket language) and uses (require (lib
 contract)).
  All of that seems to mean that I can't just add #:flat? #t - I get a
 message
  that vector-of doesn't accept keyword arguments. And, the case-
 contracts
  use -r, which apparently isn't supported anymore. All that means that I
  can't just switch to the racket language and new contracts.  So, I have
 some
  conversion work to do.
 
  On the case- problem, it seems it no longer supports anything but -.
 Is
  there something I am missing there?
 
  Doug
 
  On Sun, Oct 24, 2010 at 8:53 AM, Matthew Flatt mfl...@cs.utah.edu
 wrote:
 
  At Fri, 22 Oct 2010 21:31:43 -0600, Doug Williams wrote:
   Matthew, would it make more sense to have unsafe-vector-ref (and
 related
   functions) be the more general function and unsafe-vector*-ref be the
   one
   that doesn't work  on chaperoned vectors? That is just swap the
   definitions.
   That way user code that is already using unsafe-vector-ref (etc) will
   continue to work.
  
   As it stands, existing code that has unsafe-vector-ref (etc) will
 often
   still work (in the sense of not getting any error or crashing), but
 just
   gives the wrong results. For example, if you run science-test.ss from
   the
   examples directory in the science collection, there are no errors.
 But,
   some
   of the answers are wrong - for example the very first one, the gamma
   function. [In other cases, like the FFT routines, there are either
   run-time
   errors or crashes.]
  
   Anyway, if it isn't too late, I think swapping the definitions would
   make
   more sense and be safer.
 
  I've gone back and forth. I agree that it would be safer, but
  `vector-ref' is safer still, and I think of the job of `unsafe-X' as
  providing the lowest possible overhead over `X'. It seems nicer to me
  to have `*' mean somewhere in between rather than even faster. Then
  again, it seems bad that `vector?' (plus index bounds) isn't enough to
  guard `unsafe-vector-ref'.
 
  Overall, at this point in the release cycle, I'm inclined to leave
  things where they are (i.e., it may be too late). But let's hear more
  opinions from those who use `unsafe-vector-ref' and
  unsafe-vector*-ref'.
 
 
 
  _
   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] Pre-Release Checklist for v5.0.2

2010-10-22 Thread Doug Williams
The plot examples and plot extensions in the science collection work as
expected. Also, changing the unsafe-vector-ref (and -set!, etc) to
unsafe-vector*-ref seems to have fixed my numeric problems in the science
collection.

Done

On Thu, Oct 21, 2010 at 5:07 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:

 Checklist items for the v5.0.2 release
  (using the v5.0.1.900 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.0.2.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 Tests
  - 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.
  Updates:
  - Racket Updates: update HISTORY
  - GRacket Updates: update README, HISTORY
  (updates should show v5.0.2 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
  Updates:
  - DrRacket Updates: update HISTORY
  (updates should show v5.0.2 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.0.2 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.0.2 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

 * Casey Klein clkl...@eecs.northwestern.edu
  - Redex Tests
  Updates:
  - Redex Updates: update HISTORY
  (updates should show v5.0.2 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 ry...@ccs.neu.edu
  - Macro Debugger Tests
  - Syntax Classifier Tests

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

 * Paul Steckler st...@stecksoft.com
  - MysterX Tests
  - MzCOM Tests

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

 * Chongkai Zhu c...@cs.utah.edu
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
load into racket or drracket (as appropriate)

 * 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)

 * Sam Tobin-Hochstadt sa...@ccs.neu.edu
  - Match Tests
  - Typed Scheme Tests

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

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

 * Doug Williams m.douglas.willi...@gmail.com
  - Plot 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
  - Test

Re: [racket-dev] Release for v5.0.2 has begun

2010-10-20 Thread Doug Williams
I downloaded the pre-release version this morning - 10/20 (I believe it was
a build from 10/16). The plot package and plot extensions in the science
collection all work as expected. But, I am getting different numeric answers
for some of my science collection routines (for example, the gamma function)
and some of my newer code (for example, FFT) either fails with an error
message or DrRacket just dies. All of this code uses unsafe operations and
the problem may lie there somewhere. I'll try digging more deeply this
evening.

Doug

On Sat, Oct 16, 2010 at 6:53 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:

 The release process for v5.0.2 has begun: the `release' branch was
 created for any work that is left and is now bumped to v5.0.1.900.  You
 can go on using the `master' branch as usual, it is now bumped to
 v5.0.2.1 (to avoid having two different trees with the same version).

 If you have any bug-fixes and changes that need to go in the release
 then make sure to specify that in the commit message or mail me the
 commit SHA1s.  You can `git checkout release' to try it out directly if
 needed -- but do not try to push commits on it (the server will forbid
 it).

 Note that nightly builds will go on as usual (as v5.0.2.1), and
 pre-release builds will be available shortly at

  http://pre.racket-lang.org/release/

 Please tell me if you think that this should be announced on the
 users list for wider testing.
 --
 Ryan Culpepper
 _
  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] expected timing difference between fft-complex-forward and fft-complex-radix2-forward?

2010-10-19 Thread Doug Williams
On my laptop:

#lang racket

(require fft.rkt)

(define v (build-vector 16384 (lambda (i) (random

(define v1 (vector-copy v))

(collect-garbage)
(collect-garbage)
(collect-garbage)
(time (fft-complex-radix2-forward v1))

(define v2 (vector-copy v))

(collect-garbage)
(collect-garbage)
(collect-garbage)
(time (fft-complex-forward v2))

(for/and ([i (in-range (vector-length v))])
 ( (magnitude (- (vector-ref v1 i) (vector-ref v2 i))) 1e-4))

==

cpu time: 94 real time: 94 gc time: 0
cpu time: 79 real time: 78 gc time: 0
#t

I'll look at the rsound/fft implementation and see if I see the problem.

On Mon, Oct 18, 2010 at 10:32 PM, John Clements
cleme...@brinckerhoff.orgwrote:


 On Oct 18, 2010, at 9:25 AM, Doug Williams wrote:

  When I first ran with vectors of 8192, I got exactly the opposite - the
 radix-2 version was much slower (although still  500ms). But, when I
 looked, the longer time was almost exclusively GC - it just happen to hit
 that particular call. When I put a (collect-garbage) before each call, they
 were all  50ms on my machine. So, the GC penalty is likely what you're
 seeing.
 
  The other thing is to make sure you aren't calling one of the dft
 routines instead of the fft routines. Those are the only ones that get
 anywhere near 24s on my machine - they are about 20s on my machine. The dft
 routines are the 'straight' mathematical discrete Fourier transform and do
 not use the FFT algorithms at all. [They're really only useful for a sanity
 check on results.]

 Right, got it. No, the times I'm seeing are not GC.  I bumped it up to an
 8192-point fft, and now the radix-2 version is about 400x faster.

 Here's my code:

 #lang racket

 (require (planet clements/rsound/fft))

 (define v (build-vector 16384 (lambda (i) (random

 (define v1 (vector-copy v))

 (collect-garbage)
 (collect-garbage)
 (collect-garbage)
 (time (fft-complex-radix2-forward v1))

 (define v2 (vector-copy v))

 (collect-garbage)
 (collect-garbage)
 (collect-garbage)
 (time (fft-complex-forward v2))

 (for/and ([i (in-range (vector-length v))])
  ( (magnitude (- (vector-ref v1 i) (vector-ref v2 i))) 1e-4))

 =

 cpu time: 208 real time: 211 gc time: 0
 cpu time: 81357 real time: 82502 gc time: 8337
 #t

 John Clements

  On Thu, Oct 14, 2010 at 4:34 PM, John Clements 
 cleme...@brinckerhoff.org wrote:
  On a vector of length 8192 (a power of 2, natch),
 fft-complex-radix2-forward takes about 1/8 of a second (lost in the noise,
 essentially), but fft-complex-forward takes more than 24 seconds, a
 difference of about 200x.  They do produce the same answers, up to
 differences of 1e-4 in the magnitude (didn't check the phase).
 
  1) Is this expected? I thought the non-radix2 one was still fairly clever
 about subdividing when the number of points is divisible by 2.
  2) If so, would it make sense to test for powers of 2?
 
  John Clements
 
 


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

Re: [racket-dev] Can't Find a Workaround for Bug 11017 in DrRacket

2010-07-26 Thread Doug Williams
With last night's build, the error message is now:

cm: no SHA-1 for dependency: #C:\\Documents and Settings\\williamsm\\My
Documents\\Development\\madness\\madness.rkt

I am using a development link (using PLaneT) to reference the madness (which
is an acronym for Multi-Agent Dynamic Network Simulation System - MADNeSS,
not a reference to my mental state) development folder. But, the files in it
are actually .ss files - as are all of the files involved. So, I'm guessing
that somewhere along the line the development link to (planet
williams/madness/madness) didn't 'remember' it was to a .ss file instead of
a .rkt file.

Doug

On Sun, Jul 25, 2010 at 2:49 PM, Doug Williams m.douglas.willi...@gmail.com
 wrote:

 Sam appears to be corrects.

 If No Debugging or profiling is selected, I get the backtrace. If
 Debugging is selected, I only get the error message. And, most
 interestingly, if Debugging and profiling is selected, it runs correctly.

 Also, Robby's suspicion that it would run correctly if Populate compiled/
 directories (for faster loading) is unchecked, seems to be true. It does
 run when it is unchecked.

 Doug


 On Sun, Jul 25, 2010 at 9:22 AM, Sam Tobin-Hochstadt sa...@ccs.neu.eduwrote:

 On Sun, Jul 25, 2010 at 8:27 AM, Matthew Flatt mfl...@cs.utah.edu
 wrote:
 
  It's worrying, though, that you're getting a DrRacket backtrace that
  covers cm.rkt. Files in the main installation normally should not be
  instrumented for backtraces. Does your installation have any drracket
  subdirectories of any compiled directories?

 It's easy to get such a backtrace if Debugging (meaning Errortrace
 Debugging) is off.  This is particularly likely to be what happened
 here, since every backtrace frame is a function definition, which
 rarely happens with errortrace, but always happens with the internal
 Racket backtraces.
 --
 sam th
 sa...@ccs.neu.edu



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

Re: [racket-dev] Can't Find a Workaround for Bug 11017 in DrRacket

2010-07-25 Thread Doug Williams
Sam appears to be corrects.

If No Debugging or profiling is selected, I get the backtrace. If
Debugging is selected, I only get the error message. And, most
interestingly, if Debugging and profiling is selected, it runs correctly.

Also, Robby's suspicion that it would run correctly if Populate compiled/
directories (for faster loading) is unchecked, seems to be true. It does
run when it is unchecked.

Doug

On Sun, Jul 25, 2010 at 9:22 AM, Sam Tobin-Hochstadt sa...@ccs.neu.eduwrote:

 On Sun, Jul 25, 2010 at 8:27 AM, Matthew Flatt mfl...@cs.utah.edu wrote:
 
  It's worrying, though, that you're getting a DrRacket backtrace that
  covers cm.rkt. Files in the main installation normally should not be
  instrumented for backtraces. Does your installation have any drracket
  subdirectories of any compiled directories?

 It's easy to get such a backtrace if Debugging (meaning Errortrace
 Debugging) is off.  This is particularly likely to be what happened
 here, since every backtrace frame is a function definition, which
 rarely happens with errortrace, but always happens with the internal
 Racket backtraces.
 --
 sam th
 sa...@ccs.neu.edu

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

Re: [racket-dev] Can't Find a Workaround for Bug 11017 in DrRacket

2010-07-24 Thread Doug Williams
 path)))])
  (hash-set! up-to-date main-path stamp)
  (unless (eq? main-path alt-path)
(hash-set! up-to-date alt-path stamp))
  stamp)]))])))


On Fri, Jul 23, 2010 at 8:18 PM, Matthew Flatt mfl...@cs.utah.edu wrote:

 That version is after I improved error message, but before the repair.

 It looks like the nightly build failed last night, which is why the
 repair wasn't in the build. We're working on that problem.

 At Fri, 23 Jul 2010 16:11:37 -0600, Doug Williams wrote:
  I downloaded the latest nightly build (version
  5.0.1.1--2010-07-21(ca106a41343233e3e2e1d6393b97ff6de67e01c4/a) [3m]).
 Now I
  get the following error message:
 
  cm: no SHA-1 for dependency: (collects #scheme #base #lang
  #reader.rkt)
 
  Doug
 
  On Thu, Jul 22, 2010 at 5:47 PM, Matthew Flatt mfl...@cs.utah.edu
 wrote:
 
   At Wed, 21 Jul 2010 17:09:03 -0600, Matthew Flatt wrote:
I've pushed a change to the git repo that I don't think will fix the
problem, but I think it will give us better information when you get
 a
chance to try it.
  
   The new error message provoked a bug report that led to a repair. So,
   please try the latest and let me know if the problem is fixed.
  
  

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