Re: [racket-dev] A function for checking if a library path exists

2014-04-24 Thread Sam Tobin-Hochstadt
Great, thanks.  I'll add a hint to the documentation pointing to
`syntax/modresolve`.

Sam

On Wed, Apr 23, 2014 at 6:31 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 I think you're looking for `resolve-module-path`.

 At Wed, 23 Apr 2014 17:41:19 -0400, Sam Tobin-Hochstadt wrote:
 I'd like to have a function that takes a collection path, as can be
 given to `lib`, and gives me back the file name.  What's the best way
 to do this?

 It would seem like `collection-file-path` is the obvious solution, but
 that requires me to parse `racket/list` into racket and list.rkt.
 The other alternative is, I think:

 (define (f x)
   (define rmp ((current-module-name-resolver) x #f #f #f))
   (define p (resolved-module-path-name rmp))
   (and (file-exists? p) p))

 Is this correct? Is there a simpler way to write it?

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


Re: [racket-dev] [plt] Push #28607: master branch updated

2014-04-24 Thread Neil Toronto

On 04/24/2014 10:20 AM, ntoro...@racket-lang.org wrote:

ntoronto has updated `master' from d30546cb7d to bee344f41d.
:
| Fix Plot for new undefined behavior: #undefined is not a truth value
|
| This is a nice example of why having #undefined as a language value is
| generally a bad idea. Because in Scheme/Racket, everything that isn't
| `refresh?` argument entirely - it was as if its value was always #t. Any
| GUI change that was not meant to cause a refresh caused one anyway: a
| silent performance error.

[...]

  (define/public (set-message msg #:refresh? [refresh? #t])
-  (define refresh? (and refresh? (not (equal? msg message
-  (set! message msg)
-  (reset-message-timeout)
-  (when refresh? (refresh)))
+  (let ([refresh?  (and refresh? (not (equal? msg message)))])
+(set! message msg)
+(reset-message-timeout)
+(when refresh? (refresh


Somehow my log message got mangled. I'll show you that I can words!

The idea of the line

(define refresh? (and refresh? (not (equal? msg message

is to optimize the case in which the message doesn't change, by not 
refreshing. But the RHS was always #undefined, which, as a truth 
value, is equivalent to #t. So the optimization was actually a 
pessimization: it effectively always made the incoming `refresh?` #t.


Feel free to use this as an example in papers. I would never have caught 
it without the new undefined semantics.


Thanks to Laurent for getting hit with it first. :)

Neil ⊥

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


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

2014-04-24 Thread Neil Toronto
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-dev] Pre-Release Checklist for v6.0.1, Second Call

2014-04-24 Thread Ryan Culpepper

Checklist items for the v6.0.1 release
  (using the v6.0.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-release.racket-lang.org/

Please use these installers (or source bundles) -- don't test from
your own git clone (don't test the `master' branch by mistake!).  To
get the tests, you can do this:

  cd ...racket-root...
  ./bin/raco pkg install -i main-distribution-test

--

* Sam Tobin-Hochstadt sa...@ccs.neu.edu,
   Vincent St-Amour stamo...@ccs.neu.edu
  - Match Tests
  - Typed Racket Tests
  - Typed Racket Updates: update HISTORY
  (updates should show v6.0.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 v6.0.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 r...@cs.utah.edu
  - Macro Debugger Tests
  - Syntax Classifier Tests
  - RackUnit GUI Tests
  - Data Tests
  - DB 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)

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

* Eli Barzilay e...@barzilay.org
  - Swindle Tests
  - XREPL Tests
  - Verify PL language
  - Racket Tree: compare new distribution tree to previous one
  - Run the unix installer tests
  - Run zsh completions tests
(. .../racket-completion.zsh; _racket --self-test)
  Version Updates: if a major change has happened, update the version
  number in:
  - racket/collects/mzscheme/info.rkt
  - racket/collects/mred/info.rkt

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

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

* Doug Williams m.douglas.willi...@gmail.com
  - Additional Plot Tests
_
 Racket Developers list:
 http://lists.racket-lang.org/dev


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

2014-04-24 Thread Sam Tobin-Hochstadt
On Thu, Apr 24, 2014 at 2:58 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:

 * Sam Tobin-Hochstadt sa...@ccs.neu.edu,
Vincent St-Amour stamo...@ccs.neu.edu
   - Match Tests
   - Typed Racket Tests

Done.

   - Typed Racket Updates: update HISTORY

In process.

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