Re: [racket-dev] teaching languages error message
My changes in response to pr11xyz. I ran the language test suite. I had no clue that language changes can affect drrracket test suites. Sorry. Done. On Oct 14, 2010, at 9:48 AM, Robby Findler wrote: The teaching language error message wording changed slightly, breaking some of the drracket tests: http://drdr.racket-lang.org/21243/collects/tests/drracket/language-test.rkt Before I fix that, I just wanted to check and see if the changes are done. Thanks, 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] teaching languages error message
No problem. That's what drdr is for! :) But I'll go ahead and add you to the relevant test suites reporting. You might want to try them out, just so you get a sense (they're really testing the integration of the teaching langauges into drracket, so the precise wording is incidnental; they're trying to make sure they get a beginner error and not a full language error). % cd plt/collects/tests/drracket % gracket language-test.rkt # don't touch the keyboard or mouse, and watch the show ... # (according to drdr it will take at lest 9 minutes) Robby On Thu, Oct 14, 2010 at 9:58 AM, Matthias Felleisen matth...@ccs.neu.edu wrote: My changes in response to pr11xyz. I ran the language test suite. I had no clue that language changes can affect drrracket test suites. Sorry. Done. On Oct 14, 2010, at 9:48 AM, Robby Findler wrote: The teaching language error message wording changed slightly, breaking some of the drracket tests: http://drdr.racket-lang.org/21243/collects/tests/drracket/language-test.rkt Before I fix that, I just wanted to check and see if the changes are done. Thanks, 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] teaching languages error message
On Oct 14, 2010, at 11:06 AM, Robby Findler wrote: No problem. That's what drdr is for! :) But I'll go ahead and add you to the relevant test suites reporting. You might want to try them out, just so you get a sense (they're really testing the integration of the teaching langauges into drracket, so the precise wording is incidnental; they're trying to make sure they get a beginner error and not a full language error). In that case, the test might just be checking for the wrong property. Shouldn't we change this, especially for precise wordings of error reports? (When Guillaume takes over, we'll see even more of this.) % cd plt/collects/tests/drracket % gracket language-test.rkt # don't touch the keyboard or mouse, and watch the show ... # (according to drdr it will take at lest 9 minutes) (Thanks. I have run them before, but out of drscheme.) Robby On Thu, Oct 14, 2010 at 9:58 AM, Matthias Felleisen matth...@ccs.neu.edu wrote: My changes in response to pr11xyz. I ran the language test suite. I had no clue that language changes can affect drrracket test suites. Sorry. Done. On Oct 14, 2010, at 9:48 AM, Robby Findler wrote: The teaching language error message wording changed slightly, breaking some of the drracket tests: http://drdr.racket-lang.org/21243/collects/tests/drracket/language-test.rkt Before I fix that, I just wanted to check and see if the changes are done. Thanks, 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] teaching languages error message
On Oct 14, 2010, at 2:35 PM, Robby Findler wrote: On Thu, Oct 14, 2010 at 1:33 PM, Matthias Felleisen matth...@ccs.neu.edu wrote: On Oct 14, 2010, at 11:06 AM, Robby Findler wrote: No problem. That's what drdr is for! :) But I'll go ahead and add you to the relevant test suites reporting. You might want to try them out, just so you get a sense (they're really testing the integration of the teaching langauges into drracket, so the precise wording is incidnental; they're trying to make sure they get a beginner error and not a full language error). In that case, the test might just be checking for the wrong property. Shouldn't we change this, especially for precise wordings of error reports? (When Guillaume takes over, we'll see even more of this.) The test should test that the error message is one that is supposed to come from the beginner language. I don't really see a better way to do that other than just to edit the messages when they change. (DrDr has made this process MUCH easier than it was before.) Refactor the error message machinery into a separate file (like I did for the teachpacks) and use this single point for both raising and checking error messages. But I don't understand why drracket tests for error messages. When you know the right language is running can't you trust its tests? -- Matthias _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] question about your change to run-teaching-languages.rkt
Back on October 11, you made a change to run-teaching-languages.rkt that works absolutely fine with the stepper. ...but it breaks the stepper's testing harness. Ugh. The problem, IIUC, is that the expansion of the teaching-language programs refer to a module, test-engine/racket-tests, that doesn't actually exist at plt/collects/test-engine, and is instead dynamically associated with the namespace by DrRacket before running the student program. That is, IIUC. So, in order for the command-line racket tests to run correctly, they must also attach that module to the evaluation namespace. Unfortunately, my ham-fisted attempt to add this to the test harness: (namespace-attach-module outer-namespace 'test-engine/racket-tests (current-namespace)) ... didn't work. Actually, I was intrigued by the change. It changed failures like this: test-sequence: steps do not match given: #(struct:error-result require: namespace mismatch; reference (phase 0) to a module \/Users/clements/plt/collects/test-engine/racket-tests.rkt\ that is not available (phase level 0)) expected: (before-after ((hilite (cond (true 3) (else (and true true) ((hilite 3))) ... into errors like this: test-sequence: steps do not match given: #(struct:error-result link: module mismatch, probably from old bytecode whose dependencies have changed: variable not provided (directly or indirectly) from module: \/Users/clements/plt/collects/test-engine/racket-tests.rkt\ accessed from module: 'stepper-module-name-18307 at source phase level: 0) expected: (before-after ((if (hilite (if true false true)) false true)) ((if (hilite false) false true))) I tried some light deleting of .zo files, but I strongly suspect that the real problem here is that somehow the version of test-engine/racket-tests attached to racket's default namespace--apparently it exists? or namespace-attach-module would give an error, right?--is different from the one attached to the teaching languages evaluation namespace. I think the next step for me(after maybe a clean setup) is to start grepping through the drracket code for instances of test-engine/racket-tests, but if you can shed any light on the situation, I'm all ears. Thanks! John smime.p7s Description: S/MIME cryptographic signature _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] question about your change to run-teaching-languages.rkt
I'm not sure, I'm sorry to say. What you write sounds like the right tack to me. Robby On Thu, Oct 14, 2010 at 4:02 PM, John Clements cleme...@brinckerhoff.org wrote: Back on October 11, you made a change to run-teaching-languages.rkt that works absolutely fine with the stepper. ...but it breaks the stepper's testing harness. Ugh. The problem, IIUC, is that the expansion of the teaching-language programs refer to a module, test-engine/racket-tests, that doesn't actually exist at plt/collects/test-engine, and is instead dynamically associated with the namespace by DrRacket before running the student program. That is, IIUC. So, in order for the command-line racket tests to run correctly, they must also attach that module to the evaluation namespace. Unfortunately, my ham-fisted attempt to add this to the test harness: (namespace-attach-module outer-namespace 'test-engine/racket-tests (current-namespace)) ... didn't work. Actually, I was intrigued by the change. It changed failures like this: test-sequence: steps do not match given: #(struct:error-result require: namespace mismatch; reference (phase 0) to a module \/Users/clements/plt/collects/test-engine/racket-tests.rkt\ that is not available (phase level 0)) expected: (before-after ((hilite (cond (true 3) (else (and true true) ((hilite 3))) ... into errors like this: test-sequence: steps do not match given: #(struct:error-result link: module mismatch, probably from old bytecode whose dependencies have changed: variable not provided (directly or indirectly) from module: \/Users/clements/plt/collects/test-engine/racket-tests.rkt\ accessed from module: 'stepper-module-name-18307 at source phase level: 0) expected: (before-after ((if (hilite (if true false true)) false true)) ((if (hilite false) false true))) I tried some light deleting of .zo files, but I strongly suspect that the real problem here is that somehow the version of test-engine/racket-tests attached to racket's default namespace--apparently it exists? or namespace-attach-module would give an error, right?--is different from the one attached to the teaching languages evaluation namespace. I think the next step for me(after maybe a clean setup) is to start grepping through the drracket code for instances of test-engine/racket-tests, but if you can shed any light on the situation, I'm all ears. Thanks! John _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
[racket-dev] expected timing difference between fft-complex-forward and fft-complex-radix2-forward?
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 smime.p7s Description: S/MIME cryptographic signature _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] teaching languages error message
I will factor out the error message generation for 2htdp/*sl. Perhaps I can combine it with htdp/error. You should then be able to simplify the drracket tests. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev