Re: [racket-dev] Refactoring in-vector and friends
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
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
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
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
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
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
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