Re: [racket-dev] Refactoring in-vector and friends

2010-12-03 Thread Noel Welsh
I've merged the changes back into for.rkt and pushed the changes. This
is just refactoring the in-vector code. I'll do a separate commit when
I modify in-fXvector. And yes, tests all pass :)

N.



On Fri, Dec 3, 2010 at 1:22 AM, Eli Barzilay e...@barzilay.org wrote:

 1. At this level, I think that the costs are very important -- and
   there's two possible costs here: (a) it adds more files to
   racket/base which adds some overhead to starting up; (b) more
   importantly, there is no inlining across module boundaries, ...
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Refactoring in-vector and friends

2010-12-03 Thread Noel Welsh
Since merging with HEAD I get repeatable segfaults in the prompt tests:

...
and 19526 exception field tests.

Errors were:
(Section (got expected (call)))
((syntax) (9 10 (#procedure:dynamic-require (quote set-local-dfs) ten)))
(Other messages report successful tests of error-handling behavior.)
Section(prompt)
Seg fault (internal error) at 0x1c0
Bus error

These errors didn't appear with my changes before merging. I went back
to the revision before my commit and I still get this segfault. I've
rebuilt (raco setup) numerous times. Is this a known problem? If it
is, I can push the rest of my changes. If not, I guess I better
rebuild from source.

N.

On Fri, Dec 3, 2010 at 10:38 AM, Noel Welsh noelwe...@gmail.com wrote:
 I've merged the changes back into for.rkt and pushed the changes. This
 is just refactoring the in-vector code. I'll do a separate commit when
 I modify in-fXvector. And yes, tests all pass :)

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


Re: [racket-dev] Refactoring in-vector and friends

2010-12-03 Thread Noel Welsh
That's the problem -- doing a full rebuild has fixed it.

in-flvector and in-fxvector have been extended (and doc'ed and
tested), and I also optimised some of the code to use unsafe ops. The
vector defns in ffi/vector.rkt should probably use these tools to
provide sequence abstractions, but I'm out of steam for now.

(This process makes testing changes so time consuming I don't know how
y'all ever get anything done. Maybe rebuild once a day or something.)

N.

On Fri, Dec 3, 2010 at 1:20 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 Is it possible that your binary didn't get rebuilt? The test failure
 and crash seem to be in recently added tests to go with recent repairs
 to the Racket binary.

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


[racket-dev] Testing 'disappeared-use bindings and Check Syntax

2010-12-03 Thread Casey Klein
In light of PR 11469 (http://bit.ly/hvvT90), I'd like to write test
cases to check that Redex sets 'disappeared-use in a way that makes
Check Syntax's renaming work properly.

I was hoping there would be some kind of Check Syntax mixin that I
could apply to an editor to get a class that lets me insert a program
and rename specific variables, but that does not seem to be the case.

All I see is a DrRacket tool interface. Is there any hope for working
at that level (e.g., by scripting a DrRacket session that opens a
file, clicks Check Syntax, right-clicks a variable, etc.)?
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Large preferences file and performance

2010-12-03 Thread Robby Findler
On Friday, December 3, 2010, Neil Toronto neil.toro...@gmail.com wrote:
 Eli Barzilay wrote:

 20 minutes ago, Casey Klein wrote:

 I just pushed a fix for a bug that made DrRacket extremely sluggish
 on my laptop. Most everything was slow, but typing in the find and
 replace fields was particularly bad -- each character would take
 about a second to appear on screen.

 The problem turned out to be that my framework preferences file was
 enormous, a problem since DrRacket saves your preferences very
 frequently. In particular, it saved them on each keystroke in the
 find and replace fields. (But no more. See http://bit.ly/eQmhOH)
 [...]


 Ah! Thanks! I've always hated searching for text on my poor little laptop. (I 
 thought it had something to do with rendering the ellipses. Huh.)

 The last item on my short list of complaints about running DrRacket on a 
 laptop is how slowly it renders syntax-highlighted text. (40 lines takes 
 about 1/8 to 1/2 second, depending on file size.) Any ideas there?


 Something that I have said in the past a few times: IMO, it would be
 better to have an indirection layer when writing the preferences --
 most of the transient changes (like ones that happen after every
 keystroke or a result of moving or resizing the windows) could go
 through with a timer so that there are no such frequent writes,
 instead, they'd be lumped in less frequent writes.  Non-transient
 changes (eg, changing preferences) could still be done immediately, so
 there's no consistency issues with such changes.


 +1, if I get a vote. People get annoyed with GUIs when they have noticeable 
 delays; i.e.  50ms or so. This would help reduce them.

At the moment, it wouldn't. But I'd you notice slowness being
correlated with Ps in you drracket then pls let us know. specific
problems are more likely to induce changes.

 +2 if, to maintain integrity, the preferences file is currently flushed or 
 committed as well as streamed out.

It does that now.

Robby

 Neil

 _
  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] Testing 'disappeared-use bindings and Check Syntax

2010-12-03 Thread Robby Findler
Yeah sure. You can do that. The current CS test does that (but only
checks colors and arrows not renaming).

At the moment however the test suite is broken due to a race condition
somewhere.

Iny any case let's sit together soon and I'll show you the current
state and maybe we can improve it.

Robby

On Friday, December 3, 2010, Casey Klein clkl...@eecs.northwestern.edu wrote:
 In light of PR 11469 (http://bit.ly/hvvT90), I'd like to write test
 cases to check that Redex sets 'disappeared-use in a way that makes
 Check Syntax's renaming work properly.

 I was hoping there would be some kind of Check Syntax mixin that I
 could apply to an editor to get a class that lets me insert a program
 and rename specific variables, but that does not seem to be the case.

 All I see is a DrRacket tool interface. Is there any hope for working
 at that level (e.g., by scripting a DrRacket session that opens a
 file, clicks Check Syntax, right-clicks a variable, etc.)?
 _
   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] Removing Xexpr preference from Web Server

2010-12-03 Thread Jay McCarthy
Here is my current plan:

Add web-server/compat/0 directory with, e.g.,
web-server/compat/0/http/response-structs to hold compatibility bindings to
bridge the old http/response-structs and the new http/response-structs

In that directory is the attached README.

What do you think?

Jay

On Tue, Nov 30, 2010 at 11:14 AM, Eli Barzilay e...@barzilay.org wrote:

 Three hours ago, Robby Findler wrote:
  On Tue, Nov 30, 2010 at 8:04 AM, Eli Barzilay e...@barzilay.org wrote:
   Two hours ago, Robby Findler wrote:
   On Tue, Nov 30, 2010 at 5:18 AM, Eli Barzilay e...@barzilay.org
 wrote:
   
The problem here is that there is no name to change -- it's the
implicit coercion of xexpr values to a response.
  
   Why can't there be two libraries, one that coerces and one that
   doesn't? More generally, one that acts the same as the current
   library and one that is intended for new code?
  
   That would require a new `web-server' module, as well as a whole
   bunch of other modules.
 
  I know.
 
   Even worse, writing a module using one web server library, and
   using it in the other won't work, since it's a dynamic property of
   how the result is getting used.
 
  (I think it may be possible to be creative to avoid these things being
  errors when you mix; but maybe it is better to have an error when you
  mix; I don't have a strong opinion here but I'd try to make mixing
  work so people can migrate piecemeal.)

 [I don't see a way to do that.]


  As I said before, we have done this with the class system many
  times.  We have done this with other parts of the system as well
  (not as many times tho). It is not a simple thing.
 
  That said, massive backwards incompatibility as Jay is proposing
  seems wrong.

 I'll leave this Jay, but I think that there are some important points:

 * Doing the same for the web server will be much more problematic
  since there are many interface modules that do the implicit
  coercion.  It looks to me like the only way to do that will be a new
  toplevel `web-server' collection.

 * Even in the case of the class system, one of the transitions was
  going the other way -- renaming the old one (still available as
  `mzlib/class100') instead of having the new one under a new name.

 * The fact that this is much more problematic in the web server's
  case, combined with the fact that the change itself is much more
  minor (compared to the class system changes), is -- IMO -- a strong
  indication that a backward-compatible change via a parameter is the
  right way to go (defaulting to the same as it does now).

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




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


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