Re: [racket-dev] printing images in REPL

2010-08-28 Thread Robby Findler
(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

2010-08-28 Thread Robby Findler
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

2010-08-28 Thread Robby Findler
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

2010-08-28 Thread Shriram Krishnamurthi
... 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

2010-08-28 Thread Robby Findler
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

2010-08-28 Thread Shriram Krishnamurthi
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

2010-08-28 Thread Jay McCarthy
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?

2010-08-28 Thread Eli Barzilay
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

2010-08-28 Thread Shriram Krishnamurthi
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

2010-08-28 Thread Robby Findler
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

2010-08-28 Thread Shriram Krishnamurthi
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?

2010-08-28 Thread Jay McCarthy
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

2010-08-28 Thread Eli Barzilay
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?

2010-08-28 Thread John Clements
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