Re: [racket-dev] printing images in REPL
(Oh, and one of those modules is the place where you set current-print.) Robby On Sat, Aug 28, 2010 at 9:18 PM, Robby Findler wrote: > And sorry: here's a keyword: read-language. You'll want to set up your > language so that it can answer those queries. Then drracket will call > the info proc with 'configure-runtime. I could have sworn that was > documented somewhere, but I'm not finding it (I think that must be a > bug in searching or the entry got lost or something). In any case > drracket usees it like this: > > (let ([configs (get-info 'configure-runtime '())]) > (for ([config (in-list configs)]) > ((dynamic-require (vector-ref config 0) > (vector-ref config 1)) > (vector-ref config 2 > > where get-info comes from read-language. > > And yes, this is on my list to add to the guide-like docs in the tools manual. > > hth, > Robby > > On Sat, Aug 28, 2010 at 8:49 PM, Robby Findler > wrote: >> Did you forget what I explained at PLT day? You don't seem to be >> asking questions in terms of those things, so I'm not sure whether >> what I say is getting thru at all. >> >> Robby >> >> On Sat, Aug 28, 2010 at 8:47 PM, Shriram Krishnamurthi >> wrote: >>> ... which was my original question. But thanks. >>> >>> On Sat, Aug 28, 2010 at 9:36 PM, Robby Findler >>> wrote: I guess you don't have the print handler set up right. On Sat, Aug 28, 2010 at 8:23 PM, Shriram Krishnamurthi wrote: > The value I was returning is whatever kind of object is returned when > you embed an image in the Definitions window. That is, this was a > pasted, atomic image, not one created by a computation. I guess > they're not treated the same, but I'm surprised that ASL processing > the Definitions window didn't do the right conversion... > > On Thu, Aug 26, 2010 at 8:25 PM, Robby Findler > wrote: >> At the moment there is a barn-door sized security hole in DrRacket, >> whereby it will take any snip% instance from the user's program and >> just display it in the repl. You can exploit this for Good by making >> the current-print of your language turn some values into snips (like >> images and things). 2htdp/image already does this, so that should just >> work if you return those. Its hard to tell what value Shriram's >> program was returning tho. But if it is a bitmap% object, he just has >> to do >> >> (make-object image-snip% ...the-bitmap-goes-here...) >> >> We will close this hole at some point, when we have a reasonable way >> to allow people to add new kinds of values without the security >> breach. >> >> Robby >> >> On Thu, Aug 26, 2010 at 6:17 PM, Jay McCarthy >> wrote: >>> From what I can tell, it comes from ensuring that DrRacket shares the >>> htdp/image (or whatever) namespace with the running program so the >>> structs are the same and DrRacket's default renderer is detecting it. >>> I'm not sure how to replicate it though. (I tried for a bit so I could >>> make #lang frtime work.) >>> >>> Jay >>> >>> On Thu, Aug 26, 2010 at 11:55 AM, Shriram Krishnamurthi >>> wrote: What is the #lang magic that makes > (get-image-from-web "http://racket-lang.org/logo.png";) (instantiate (class ...) ...) show the image rather than just its constructor? Shriram _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev >>> >>> >>> >>> -- >>> Jay McCarthy >>> Assistant Professor / Brigham Young University >>> http://teammccarthy.org/jay >>> >>> "The glory of God is Intelligence" - D&C 93 >>> _ >>> 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] printing images in REPL
And sorry: here's a keyword: read-language. You'll want to set up your language so that it can answer those queries. Then drracket will call the info proc with 'configure-runtime. I could have sworn that was documented somewhere, but I'm not finding it (I think that must be a bug in searching or the entry got lost or something). In any case drracket usees it like this: (let ([configs (get-info 'configure-runtime '())]) (for ([config (in-list configs)]) ((dynamic-require (vector-ref config 0) (vector-ref config 1)) (vector-ref config 2 where get-info comes from read-language. And yes, this is on my list to add to the guide-like docs in the tools manual. hth, Robby On Sat, Aug 28, 2010 at 8:49 PM, Robby Findler wrote: > Did you forget what I explained at PLT day? You don't seem to be > asking questions in terms of those things, so I'm not sure whether > what I say is getting thru at all. > > Robby > > On Sat, Aug 28, 2010 at 8:47 PM, Shriram Krishnamurthi > wrote: >> ... which was my original question. But thanks. >> >> On Sat, Aug 28, 2010 at 9:36 PM, Robby Findler >> wrote: >>> I guess you don't have the print handler set up right. >>> >>> On Sat, Aug 28, 2010 at 8:23 PM, Shriram Krishnamurthi >>> wrote: The value I was returning is whatever kind of object is returned when you embed an image in the Definitions window. That is, this was a pasted, atomic image, not one created by a computation. I guess they're not treated the same, but I'm surprised that ASL processing the Definitions window didn't do the right conversion... On Thu, Aug 26, 2010 at 8:25 PM, Robby Findler wrote: > At the moment there is a barn-door sized security hole in DrRacket, > whereby it will take any snip% instance from the user's program and > just display it in the repl. You can exploit this for Good by making > the current-print of your language turn some values into snips (like > images and things). 2htdp/image already does this, so that should just > work if you return those. Its hard to tell what value Shriram's > program was returning tho. But if it is a bitmap% object, he just has > to do > > (make-object image-snip% ...the-bitmap-goes-here...) > > We will close this hole at some point, when we have a reasonable way > to allow people to add new kinds of values without the security > breach. > > Robby > > On Thu, Aug 26, 2010 at 6:17 PM, Jay McCarthy > wrote: >> From what I can tell, it comes from ensuring that DrRacket shares the >> htdp/image (or whatever) namespace with the running program so the >> structs are the same and DrRacket's default renderer is detecting it. >> I'm not sure how to replicate it though. (I tried for a bit so I could >> make #lang frtime work.) >> >> Jay >> >> On Thu, Aug 26, 2010 at 11:55 AM, Shriram Krishnamurthi >> wrote: >>> What is the #lang magic that makes >>> (get-image-from-web "http://racket-lang.org/logo.png";) >>> (instantiate (class ...) ...) >>> >>> show the image rather than just its constructor? >>> >>> Shriram >>> _ >>> For list-related administrative tasks: >>> http://lists.racket-lang.org/listinfo/dev >>> >> >> >> >> -- >> Jay McCarthy >> Assistant Professor / Brigham Young University >> http://teammccarthy.org/jay >> >> "The glory of God is Intelligence" - D&C 93 >> _ >> 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] printing images in REPL
Did you forget what I explained at PLT day? You don't seem to be asking questions in terms of those things, so I'm not sure whether what I say is getting thru at all. Robby On Sat, Aug 28, 2010 at 8:47 PM, Shriram Krishnamurthi wrote: > ... which was my original question. But thanks. > > On Sat, Aug 28, 2010 at 9:36 PM, Robby Findler > wrote: >> I guess you don't have the print handler set up right. >> >> On Sat, Aug 28, 2010 at 8:23 PM, Shriram Krishnamurthi >> wrote: >>> The value I was returning is whatever kind of object is returned when >>> you embed an image in the Definitions window. That is, this was a >>> pasted, atomic image, not one created by a computation. I guess >>> they're not treated the same, but I'm surprised that ASL processing >>> the Definitions window didn't do the right conversion... >>> >>> On Thu, Aug 26, 2010 at 8:25 PM, Robby Findler >>> wrote: At the moment there is a barn-door sized security hole in DrRacket, whereby it will take any snip% instance from the user's program and just display it in the repl. You can exploit this for Good by making the current-print of your language turn some values into snips (like images and things). 2htdp/image already does this, so that should just work if you return those. Its hard to tell what value Shriram's program was returning tho. But if it is a bitmap% object, he just has to do (make-object image-snip% ...the-bitmap-goes-here...) We will close this hole at some point, when we have a reasonable way to allow people to add new kinds of values without the security breach. Robby On Thu, Aug 26, 2010 at 6:17 PM, Jay McCarthy wrote: > From what I can tell, it comes from ensuring that DrRacket shares the > htdp/image (or whatever) namespace with the running program so the > structs are the same and DrRacket's default renderer is detecting it. > I'm not sure how to replicate it though. (I tried for a bit so I could > make #lang frtime work.) > > Jay > > On Thu, Aug 26, 2010 at 11:55 AM, Shriram Krishnamurthi > wrote: >> What is the #lang magic that makes >> >>> (get-image-from-web "http://racket-lang.org/logo.png";) >> (instantiate (class ...) ...) >> >> show the image rather than just its constructor? >> >> Shriram >> _ >> For list-related administrative tasks: >> http://lists.racket-lang.org/listinfo/dev >> > > > > -- > Jay McCarthy > Assistant Professor / Brigham Young University > http://teammccarthy.org/jay > > "The glory of God is Intelligence" - D&C 93 > _ > 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] printing images in REPL
... which was my original question. But thanks. On Sat, Aug 28, 2010 at 9:36 PM, Robby Findler wrote: > I guess you don't have the print handler set up right. > > On Sat, Aug 28, 2010 at 8:23 PM, Shriram Krishnamurthi > wrote: >> The value I was returning is whatever kind of object is returned when >> you embed an image in the Definitions window. That is, this was a >> pasted, atomic image, not one created by a computation. I guess >> they're not treated the same, but I'm surprised that ASL processing >> the Definitions window didn't do the right conversion... >> >> On Thu, Aug 26, 2010 at 8:25 PM, Robby Findler >> wrote: >>> At the moment there is a barn-door sized security hole in DrRacket, >>> whereby it will take any snip% instance from the user's program and >>> just display it in the repl. You can exploit this for Good by making >>> the current-print of your language turn some values into snips (like >>> images and things). 2htdp/image already does this, so that should just >>> work if you return those. Its hard to tell what value Shriram's >>> program was returning tho. But if it is a bitmap% object, he just has >>> to do >>> >>> (make-object image-snip% ...the-bitmap-goes-here...) >>> >>> We will close this hole at some point, when we have a reasonable way >>> to allow people to add new kinds of values without the security >>> breach. >>> >>> Robby >>> >>> On Thu, Aug 26, 2010 at 6:17 PM, Jay McCarthy >>> wrote: From what I can tell, it comes from ensuring that DrRacket shares the htdp/image (or whatever) namespace with the running program so the structs are the same and DrRacket's default renderer is detecting it. I'm not sure how to replicate it though. (I tried for a bit so I could make #lang frtime work.) Jay On Thu, Aug 26, 2010 at 11:55 AM, Shriram Krishnamurthi wrote: > What is the #lang magic that makes > >> (get-image-from-web "http://racket-lang.org/logo.png";) > (instantiate (class ...) ...) > > show the image rather than just its constructor? > > Shriram > _ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev > -- Jay McCarthy Assistant Professor / Brigham Young University http://teammccarthy.org/jay "The glory of God is Intelligence" - D&C 93 _ 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] printing images in REPL
I guess you don't have the print handler set up right. On Sat, Aug 28, 2010 at 8:23 PM, Shriram Krishnamurthi wrote: > The value I was returning is whatever kind of object is returned when > you embed an image in the Definitions window. That is, this was a > pasted, atomic image, not one created by a computation. I guess > they're not treated the same, but I'm surprised that ASL processing > the Definitions window didn't do the right conversion... > > On Thu, Aug 26, 2010 at 8:25 PM, Robby Findler > wrote: >> At the moment there is a barn-door sized security hole in DrRacket, >> whereby it will take any snip% instance from the user's program and >> just display it in the repl. You can exploit this for Good by making >> the current-print of your language turn some values into snips (like >> images and things). 2htdp/image already does this, so that should just >> work if you return those. Its hard to tell what value Shriram's >> program was returning tho. But if it is a bitmap% object, he just has >> to do >> >> (make-object image-snip% ...the-bitmap-goes-here...) >> >> We will close this hole at some point, when we have a reasonable way >> to allow people to add new kinds of values without the security >> breach. >> >> Robby >> >> On Thu, Aug 26, 2010 at 6:17 PM, Jay McCarthy wrote: >>> From what I can tell, it comes from ensuring that DrRacket shares the >>> htdp/image (or whatever) namespace with the running program so the >>> structs are the same and DrRacket's default renderer is detecting it. >>> I'm not sure how to replicate it though. (I tried for a bit so I could >>> make #lang frtime work.) >>> >>> Jay >>> >>> On Thu, Aug 26, 2010 at 11:55 AM, Shriram Krishnamurthi >>> wrote: What is the #lang magic that makes > (get-image-from-web "http://racket-lang.org/logo.png";) (instantiate (class ...) ...) show the image rather than just its constructor? Shriram _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev >>> >>> >>> >>> -- >>> Jay McCarthy >>> Assistant Professor / Brigham Young University >>> http://teammccarthy.org/jay >>> >>> "The glory of God is Intelligence" - D&C 93 >>> _ >>> 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] printing images in REPL
The value I was returning is whatever kind of object is returned when you embed an image in the Definitions window. That is, this was a pasted, atomic image, not one created by a computation. I guess they're not treated the same, but I'm surprised that ASL processing the Definitions window didn't do the right conversion... On Thu, Aug 26, 2010 at 8:25 PM, Robby Findler wrote: > At the moment there is a barn-door sized security hole in DrRacket, > whereby it will take any snip% instance from the user's program and > just display it in the repl. You can exploit this for Good by making > the current-print of your language turn some values into snips (like > images and things). 2htdp/image already does this, so that should just > work if you return those. Its hard to tell what value Shriram's > program was returning tho. But if it is a bitmap% object, he just has > to do > > (make-object image-snip% ...the-bitmap-goes-here...) > > We will close this hole at some point, when we have a reasonable way > to allow people to add new kinds of values without the security > breach. > > Robby > > On Thu, Aug 26, 2010 at 6:17 PM, Jay McCarthy wrote: >> From what I can tell, it comes from ensuring that DrRacket shares the >> htdp/image (or whatever) namespace with the running program so the >> structs are the same and DrRacket's default renderer is detecting it. >> I'm not sure how to replicate it though. (I tried for a bit so I could >> make #lang frtime work.) >> >> Jay >> >> On Thu, Aug 26, 2010 at 11:55 AM, Shriram Krishnamurthi >> wrote: >>> What is the #lang magic that makes >>> (get-image-from-web "http://racket-lang.org/logo.png";) >>> (instantiate (class ...) ...) >>> >>> show the image rather than just its constructor? >>> >>> Shriram >>> _ >>> For list-related administrative tasks: >>> http://lists.racket-lang.org/listinfo/dev >>> >> >> >> >> -- >> Jay McCarthy >> Assistant Professor / Brigham Young University >> http://teammccarthy.org/jay >> >> "The glory of God is Intelligence" - D&C 93 >> _ >> 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] relationship between define-struct and struct
The student languages have a completely separate implementation of define-struct from Racket. [lang/private/teach.rkt: do-define-struct: line 716 For a reason unknown to me, the struct type descriptor [line 805] returned by make-struct-type does not get defined (although it does check to make sure it could be defined.) [line 931] I'm not entirely sure why this is although I anticipate that is has to do with the fact that such a value has no worth in *SL, because there are no operations on it. Thus it would be very awkward in the docs to say that a thing is defined with define-struct that has no meaning to students. Since struct-out expects this thing to be defined, it errors. It is a bit awkward that the error suggests that it should have been imported, rather than defined in the file. Jay On Sat, Aug 28, 2010 at 1:23 PM, Shriram Krishnamurthi wrote: > What is the relationship between define-struct and struct in Racket > 5.0.1? By define-struct I mean the construct provided in ASL. In my > custom language I have > > (define-struct tv (tag value)) > (provide (struct-out tv)) > > and I get the error > > struct-out: no import for structure-type identifier in: struct:tv > > Is this because define-struct suppresses the struct:tv "structure-type > information"? (If so, why?) ((And if so, is there a way to make > struct-out work shy of copying the implementation of define-struct and > adding/removing the line that hides this?)) > > Shriram > _ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev > -- Jay McCarthy Assistant Professor / Brigham Young University http://teammccarthy.org/jay "The glory of God is Intelligence" - D&C 93 _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] drdrdown?
Do you have stdout and stderr redirected to some file so it can complain if needed? Do you have the recent git there? (The smart http client is new, so some things might have been fixed.) You can also try to switch it to something else -- like using the git protocol (which should work fine for reads). On Aug 28, Jay McCarthy wrote: > Over the past few weeks, it has been stalling during the git fetch. > The process tree looks like this: > > 5907 ?S 0:00 \_ /usr/bin/git fetch > http://git.racket-lang.org/plt.git > 5908 ?S 0:00 \_ git-remote-http > http://git.racket-lang.org/plt.git http://git.racket-lang.org/plt.git > 5911 ?S 0:00 \_ git fetch-pack > --stateless-rpc --lock-pack --thin --no-progress > http://git.racket-lang.org/plt.git EAD > 5912 ?S 0:00 \_ git fetch-pack > --stateless-rpc --lock-pack --thin --no-progress > http://git.racket-lang.org/plt.git EAD > > I'll have to spend some time debugging it on Monday. [If anyone knows > why it would stop at that point, I'd like to know.] > > This output might be from git: > error: RPC failed; result=56, HTTP code = 200 -- ((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] relationship between define-struct and struct
On Sat, Aug 28, 2010 at 3:38 PM, Robby Findler wrote: > This works fine in #lang racket, eg: > > #lang racket > (define-struct s (a b)) > (provide (struct-out s)) > > I think that ASL's define-struct is not racket's tho, so you'd > probably have to read the docs carefully to understand what's > different and what it does and why it is not working properly with > racket's struct-out. Yes, thank you, you've just repeated my question... _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] relationship between define-struct and struct
This works fine in #lang racket, eg: #lang racket (define-struct s (a b)) (provide (struct-out s)) I think that ASL's define-struct is not racket's tho, so you'd probably have to read the docs carefully to understand what's different and what it does and why it is not working properly with racket's struct-out. As for the answer to your question at the end, you can just look at the binding. Here is a start: #lang racket (require (prefix-in a: (only-in lang/htdp-advanced define-struct))) (a:define-struct s (x y)) (define-syntax (m stx) (syntax-case stx () [(_ a) (printf "~s\n" (syntax-local-value #'a)) #'(void)])) (m s) hth, Robby On Sat, Aug 28, 2010 at 2:23 PM, Shriram Krishnamurthi wrote: > What is the relationship between define-struct and struct in Racket > 5.0.1? By define-struct I mean the construct provided in ASL. In my > custom language I have > > (define-struct tv (tag value)) > (provide (struct-out tv)) > > and I get the error > > struct-out: no import for structure-type identifier in: struct:tv > > Is this because define-struct suppresses the struct:tv "structure-type > information"? (If so, why?) ((And if so, is there a way to make > struct-out work shy of copying the implementation of define-struct and > adding/removing the line that hides this?)) > > Shriram > _ > 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] relationship between define-struct and struct
What is the relationship between define-struct and struct in Racket 5.0.1? By define-struct I mean the construct provided in ASL. In my custom language I have (define-struct tv (tag value)) (provide (struct-out tv)) and I get the error struct-out: no import for structure-type identifier in: struct:tv Is this because define-struct suppresses the struct:tv "structure-type information"? (If so, why?) ((And if so, is there a way to make struct-out work shy of copying the implementation of define-struct and adding/removing the line that hides this?)) Shriram _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] drdrdown?
Over the past few weeks, it has been stalling during the git fetch. The process tree looks like this: 5907 ?S 0:00 \_ /usr/bin/git fetch http://git.racket-lang.org/plt.git 5908 ?S 0:00 \_ git-remote-http http://git.racket-lang.org/plt.git http://git.racket-lang.org/plt.git 5911 ?S 0:00 \_ git fetch-pack --stateless-rpc --lock-pack --thin --no-progress http://git.racket-lang.org/plt.git EAD 5912 ?S 0:00 \_ git fetch-pack --stateless-rpc --lock-pack --thin --no-progress http://git.racket-lang.org/plt.git EAD I'll have to spend some time debugging it on Monday. [If anyone knows why it would stop at that point, I'd like to know.] This output might be from git: error: RPC failed; result=56, HTTP code = 200 I've manually restarted it so it should be fine until I can debug again. Jay On Sat, Aug 28, 2010 at 10:25 AM, John Clements wrote: > Is DrDr down? The latest build I see on drdr.racket-lang.org is from > 2010-08-25. > > Apologies if I missed an announcement. > > John > > > _ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev > -- Jay McCarthy Assistant Professor / Brigham Young University http://teammccarthy.org/jay "The glory of God is Intelligence" - D&C 93 _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev
Re: [racket-dev] RFC: Coding Guidelines
On Aug 19, Jay McCarthy wrote: > I hope I've incorporated much of the feedback from this thread: > > http://faculty.cs.byu.edu/~jay/tmp/201008161509-guidelines.html I (finally) read this and the thread that went on at the time, and I don't see any point in all of this, besides a vage plea to encourage tests, and a slightly more concrete (but impractical) call for stress tests. * It talks about code in general -- no distinction between introducing new functionality, and fixing existing code. It looks like the emphasis is on the former, but that's not clear. These two cases are very different. * For the latter case of fixing someone else's code, much of this is irrelevant. If I see a bug in a library, and I tell the author about it but it is not fixed after a while -- if the fix is simple, I'll probably push it. (*I*'ll probably fix it right away.) But does that mean that the responsibility of keeping the code (and therefore maintaining a test suite) is now all mine? The text makes it look that way, but if these rules were enforced in some concrete way (for example -- you touch the slideshow code, and you get to be responsible for all its bugs) the net result would be no fixes. * So obviously some concrete ownership change is out of the question. Is there some implicit change, or something less radical like "you own your changes"? Probably -- but such things are hard to impossible to formalize in any way. I think that ultimately it's something that gets settled between the owner of the code and the person fixing it. As someone who was very often at the fixing side, I've just learned to deal with things on a case by case basis. In some cases the owner is happy for any fix, even if testing it is very difficult (or if the fix is obvious that there's no need for a test). In other cases the owner rejected any change and my fixes got dumped -- and I learned to completely avoid such pieces of code. It yet other cases the owner is relatively new, and I'll do more radical changes. The bottom line is that I don't see any formal way to formalize sane rules and keep moving at the same time. * "As long as your code fulfills its promises" seems like a weasel passage that can admit anything -- it's me who writes the code and me who does the promising, so I can always claim that I never promised [whatever you don't like about it, including bugs]. * There's an emphasis on stress testing -- but I don't see anything concrete there, and I don't see any way of making any concrete conclusions wrt such testing. To give a few examples: - We still have the `seqn' operators in, and they still imply a runtime cost of ~200. What should I do in light of the stress tests passage? - Add a test that will actually break, knowing that fixing it is not a matter of some local change to the code? - Remove the code, because a 200x is bad enough to be considered a bug? - Spend a month rewriting how sequences are represented to actually solve the problem? - Shut up about it, and learn to ignore it? - The unstable/queue code had a much smaller performance hit, but the code in question was simple enough to make that hit much more noticeable, so in that case even a small 5x factor is bad. - In Hari's code there is generally a similar performance hit, but in that case the added functionality (being pure) is worth it, and the code is less simple (certainly not something I'd want to write myself whenever I need purity). So a 5x factor is not a problem. * A minor note: the text refers to the tests/stress/stress library, but that code has no real documentation. (Looking at the code, there's some aspects that should really go into `time' -- like the ability to run the body multiple times, and average the results.) * "\"Primum non nocere\"" -- after looking this up (bad for such a document), I strongly disagree with it. IIUC, it reads as "if it works, don't mess with it" -- which is a recipe for an ever growing codebase with almost no changes to existing code. There are places where this does apply (eg, everything around drracket involve subtle state-based issues that random by-passers are unaware of), and places where it clearly should not apply. The question should really involve ownership: your own dialog with the owner of the code, or your willingness to become its owner. * Speaking about ownership -- IMO it is one of the important aspect of any "coding guidelines", yet there is nothing about it in the text. So IMO this is a huge omission. More specifically, much of my criticism of the unstable collection is related to ownership -- code being dumped as is and left as an orphan with noone to take care of problems. (Yes, there's a policy of clarifying the owner of each bit, but the bottom line is that except for a few things, there was no discussion on it and
[racket-dev] drdrdown?
Is DrDr down? The latest build I see on drdr.racket-lang.org is from 2010-08-25. Apologies if I missed an announcement. John smime.p7s Description: S/MIME cryptographic signature _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev