Re: [racket-dev] Fwd: [ACM-BULLETIN] Today's Topic: ACM Names 2014 Distinguished Members
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
...@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
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
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
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
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
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
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
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
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
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
.**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
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
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
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?)
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?)
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
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
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?
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
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
...@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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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]
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]
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
* 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
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
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
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
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
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
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
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
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
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
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?]
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
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?]
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)
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
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
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
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+
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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