[racket] ICFP 2010: Call for participation

2010-08-02 Thread Wouter Swierstra
= Call for Participation The 15th ACM SIGPLAN International Conference on Functional Programming (ICFP 2010) http://www.icfpconference.org/icfp2010/

Re: [racket] auto-spacer

2010-08-02 Thread Robby Findler
I think that could work well in drracket. It is careful never to insert tab characters into your program when it indents (for the problems listed in the beginning of that essay) so there is relatively little existing use of tabs. And drracket's editor class is now implemented in racket, so anyone

Re: [racket] auto-spacer

2010-08-02 Thread Greg Hendershott
Nice! add1 On Mon, Aug 2, 2010 at 11:35 AM, Dave Gurnell wrote: > I saw this on the Internets a while ago: > http://nickgravgaard.com/elastictabstops/ > I thought it was pretty clever... it could be relevant here. There's a demo > about half way down the page. > -- Dave > On 2 Aug 2010, at 16:26

Re: [racket] syntax, differently

2010-08-02 Thread Neil Toronto
That's because it decides when to break greedily. It really ought to be a constraint solver. Like TeX for Racket programs. Yeah. Neil T Robby Findler wrote: Pretty-print doesn't work all that well, when it gets close up against the 80 column limit. At least, that's my experience reading its o

Re: [racket] Windows image bug (again, sorry)

2010-08-02 Thread Robby Findler
I think I've fixed this bug and pushed the change to git. It seems to have been specific to images that don't have an alpha channel (eg gifs). If that matches your experience, then likely it is the same bug. Robby On Mon, Aug 2, 2010 at 11:16 AM, Todd O'Bryan wrote: > So, Windows seems to be abl

Re: [racket] auto-spacer

2010-08-02 Thread Laurent
On Mon, Aug 2, 2010 at 17:35, Dave Gurnell wrote: > I saw this on the Internets a while ago: > > http://nickgravgaard.com/elastictabstops/ > > I thought it was pretty clever... it could be relevant here. There's a > demo about half way down the page. > Nice ! Now can I have that in DrRacket? :)

[racket] Windows image bug (again, sorry)

2010-08-02 Thread Todd O'Bryan
So, Windows seems to be able to open files with modified bitmaps, but it's not happy about saving or pasting them. Try this: Insert an image. Crop it in the Interactions window. Try to copy and paste that image back up to the top. This is on the latest nightly build. What's worse, it tries to sa

Re: [racket] syntax, differently

2010-08-02 Thread Jos Koot
> -Original Message- > From: robby.find...@gmail.com > [mailto:robby.find...@gmail.com] On Behalf Of Robby Findler > Sent: 02 August 2010 17:41 > To: Jos Koot > Cc: Horace Dynamite; users@racket-lang.org > Subject: Re: [racket] syntax, differently > > Pretty-print doesn't work all that we

Re: [racket] auto-spacer

2010-08-02 Thread Shriram Krishnamurthi
Cute! - Of course, this is just recreating TeX's \halign. Since the modern TeX is Scribble, as soon as Racket adopts Scribble as its layout language in the editor, this should be trivial to do. (-: - Last summer my student Brendan Hickey worked with me to prototype a Scheme editor in

Re: [racket] syntax, differently

2010-08-02 Thread Robby Findler
Pretty-print doesn't work all that well, when it gets close up against the 80 column limit. At least, that's my experience reading its output. Robby On Mon, Aug 2, 2010 at 9:50 AM, Jos Koot wrote: > pretty-print (with (pretty-print-columns 80))? > jos > >> -Original Message- >> From: use

Re: [racket] syntax, differently

2010-08-02 Thread Robby Findler
I don't really have a rationale as to why, merely an absence of one as to why not. Robby On Mon, Aug 2, 2010 at 9:43 AM, Jos Koot wrote: > WQhy would this be tricky? > Jos > >> -Original Message- >> From: users-boun...@racket-lang.org >> [mailto:users-boun...@racket-lang.org] On Behalf O

Re: [racket] auto-spacer

2010-08-02 Thread Dave Gurnell
I saw this on the Internets a while ago: http://nickgravgaard.com/elastictabstops/ I thought it was pretty clever... it could be relevant here. There's a demo about half way down the page. -- Dave On 2 Aug 2010, at 16:26, Jos Koot wrote: > +1, I do this often in my code (in which case

Re: [racket] auto-spacer

2010-08-02 Thread Jos Koot
+1, I do this often in my code (in which case I don't touch auto-redent-all) Jos _ From: users-boun...@racket-lang.org [mailto:users-boun...@racket-lang.org] On Behalf Of Laurent Sent: 02 August 2010 17:19 To: PLT-Scheme Mailing List Subject: [racket] auto-spacer Speaking of DrRacket U

[racket] auto-spacer

2010-08-02 Thread Laurent
Speaking of DrRacket UI, one thing that I'd really appreciate is an "auto-spacer" for `define' and `let'. Let me explain what I mean. I often have things like: (define something 3) (define some-other-thing 4) (define whatever-you-like 42) And I like the right-hand-side to be aligned to make

Re: [racket] syntax, differently

2010-08-02 Thread Jos Koot
pretty-print (with (pretty-print-columns 80))? jos > -Original Message- > From: users-boun...@racket-lang.org > [mailto:users-boun...@racket-lang.org] On Behalf Of Jos Koot > Sent: 02 August 2010 16:44 > To: 'Robby Findler'; 'Horace Dynamite' > Cc: users@racket-lang.org > Subject: Re: [ra

Re: [racket] syntax, differently

2010-08-02 Thread Anthony Cowley
On Mon, Aug 2, 2010 at 10:30 AM, Horace Dynamite wrote: > So I suppose I was being a little too aggressive at the suggestion. I > do wonder how tricky it will be do have a line-breaking routine that > can take as input the program I posted, and produce as output the > program you returned. It doe

Re: [racket] begin vs +

2010-08-02 Thread Keiko Nakata
From: "Jos Koot" > Calling a continuation does not undo side effects. This seems to be at the base line. Keiko _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

Re: [racket] syntax, differently

2010-08-02 Thread Horace Dynamite
Matthias, You're trimming of my "verbose" English has left one procedure with a contract thats completely wrong, a common remanent I believe of being too concise! ;; possible-states accumulate all the possible (incorrect) future ;; boat loads, given the current state. That (incorrect) by itself

Re: [racket] syntax, differently

2010-08-02 Thread Jos Koot
WQhy would this be tricky? Jos > -Original Message- > From: users-boun...@racket-lang.org > [mailto:users-boun...@racket-lang.org] On Behalf Of Robby Findler > Sent: 02 August 2010 16:34 > To: Horace Dynamite > Cc: users@racket-lang.org > Subject: Re: [racket] syntax, differently > > On

Re: [racket] syntax, differently

2010-08-02 Thread Jos Koot
> -Original Message- > From: users-boun...@racket-lang.org > [mailto:users-boun...@racket-lang.org] On Behalf Of Horace Dynamite > Sent: 02 August 2010 16:31 > To: Robby Findler; users@racket-lang.org > Subject: Re: [racket] syntax, differently > > > That said, if you hit return after ea

Re: [racket] begin vs +

2010-08-02 Thread Jos Koot
Call/cc captures all required variables needed for its continuation, but it does not capture their states. How about a variable bound to a box that have been captured in a continuation? Alter the content of the box and call the continuation. It sees the very same box with the new content. Calling a

Re: [racket] syntax, differently

2010-08-02 Thread Robby Findler
On Mon, Aug 2, 2010 at 9:30 AM, Horace Dynamite wrote: > I > do wonder how tricky it will be do have a line-breaking routine that > can take as input the program I posted, and produce as output the > program you returned. That seems very tricky, at least to me. Robby

Re: [racket] syntax, differently

2010-08-02 Thread Horace Dynamite
Yeah yeah yeah! Jos & Matthias, you win also. :-) I'd be amazed if a line breaking routine could make all these observations automatically. Horace. _ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

Re: [racket] syntax, differently

2010-08-02 Thread Matthias Felleisen
1 minutes, 3 alpha renamings, one line break, and two cuts in extremely verbose English, et voil`a, it fits: ;; : state -> (listof state) ;; all possible successor states that can be reached in one boat crossing (define (compute-possible-states state) (local [;; how-many : symbol bl -> num

Re: [racket] syntax, differently

2010-08-02 Thread Horace Dynamite
> That said, if you hit return after each 'cond' (instead of keeping the > first clause on the same line), you're down to 82 chars. If you break > define definitions in the innermost local, you're below the limit. I > personally would probably also put a return after the call to > make-state, getti

Re: [racket] syntax, differently

2010-08-02 Thread Jos Koot
Within 80 columns (not counting the startiong comment. Hope your mailer does not insert or remove line-breaks. #lang racket ;; : state -> (listof state) ;; given a state, compute all possible successor states that can be reached in one boat crossing (define (compute-possible-states state) (loc

Re: [racket] syntax, differently

2010-08-02 Thread Robby Findler
This code looks nice to me! That said, if you hit return after each 'cond' (instead of keeping the first clause on the same line), you're down to 82 chars. If you break define definitions in the innermost local, you're below the limit. I personally would probably also put a return after the call t

Re: [racket] syntax, differently

2010-08-02 Thread Matthias Felleisen
On Aug 2, 2010, at 9:56 AM, Stephen Bloch wrote: > Besides, absolute beginning programmers don't have all that many functions to > remember -- under 200 in my whole book, probably under 100 in HtDP. DrRacket comes with a programmer-initiated name completion feature: ctrl . It is not quite w

Re: [racket] syntax, differently

2010-08-02 Thread Horace Dynamite
On Mon, Aug 2, 2010 at 2:02 PM, Marco Morazan wrote: > Perhaps, you should consider making separate functions for each nested > cond and nested local. There is nothing "easy to read" about code with > the shape above. One cond and one local per function is a good rule of > thumb. Point taken, per

Re: [racket] begin vs +

2010-08-02 Thread Keiko Nakata
I may think how call/cc should deal with delay's (call-by-need) is a moot point (theory vs implementation). Keiko From: Matthias Felleisen Subject: Re: [racket] begin vs + Date: Mon, 2 Aug 2010 10:00:39 -0400 > > call/cc captures the environment when it creates a procedural representation > o

Re: [racket] begin vs +

2010-08-02 Thread Matthias Felleisen
call/cc captures the environment when it creates a procedural representation of the continuation, just like lambda. The two are doing more or less the same thing with two differences: (1) lambda uses an explicit expression to create a procedure while call/cc uses an implicit expression (the

Re: [racket] begin vs +

2010-08-02 Thread Jos Koot
Because all the time 9 is added to 2 yielding 11. Jos > -Original Message- > From: users-boun...@racket-lang.org > [mailto:users-boun...@racket-lang.org] On Behalf Of Keiko Nakata > Sent: 02 August 2010 14:55 > To: mfl...@cs.utah.edu > Cc: users@racket-lang.org > Subject: Re: [racket] be

Re: [racket] begin vs +

2010-08-02 Thread Keiko Nakata
From: Sam Tobin-Hochstadt > On Mon, Aug 2, 2010 at 9:48 AM, Keiko Nakata > wrote: > > Or, call/cc does not capture the state? > > `call/cc' does not capture the state of the heap (such as the contents > of boxes). Thanks! This makes it very clear. This should also mean I cannot undo force-ing

Re: [racket] syntax, differently

2010-08-02 Thread Stephen Bloch
On Aug 1, 2010, at 12:34 AM, Mathew Kurian wrote: > 1.When you click on a defined function name, it is necessary that all the > same phrases are highlighted throughout the whole file. I don't think that's really what you want. Consider the following (bad) code example: (define x 17) .. (

Re: [racket] begin vs +

2010-08-02 Thread Laurent
On Mon, Aug 2, 2010 at 15:48, Keiko Nakata wrote: > From: Laurent > > > Maybe you could use `(let () *body ...*)' instead? It should be closer to > > your intentions. > > Can you tweak my code > I'm not at ease with continuations too and I wouldn't want to give you wrong answers so I let gurus a

Re: [racket] begin vs +

2010-08-02 Thread Sam Tobin-Hochstadt
On Mon, Aug 2, 2010 at 9:48 AM, Keiko Nakata wrote: > Or, call/cc does not capture the state? `call/cc' does not capture the state of the heap (such as the contents of boxes). -- sam th sa...@ccs.neu.edu _ For list-related administrative tasks:

Re: [racket] begin vs +

2010-08-02 Thread Keiko Nakata
From: Laurent > Maybe you could use `(let () *body ...*)' instead? It should be closer to > your intentions. Can you tweak my code (let ([d (box #f)] [a (box 0)]) (print (+ (begin (let/cc k (begin (set-box! d k) (set-box! a 2) 3))) (unbox a))) ((unbox d) 9)) or give me a hint, so that it

Re: [racket] begin vs +

2010-08-02 Thread Laurent
On Mon, Aug 2, 2010 at 15:23, Keiko Nakata wrote: > Hi, > > From: Matthew Flatt > > > At Mon, 02 Aug 2010 21:54:54 +0900 (JST), Keiko Nakata wrote: > > > Why this code > > > > > > (let ([d (box #f)] [a (box 0)]) > > > (print (+ (begin (let/cc k (begin (set-box! d k) (set-box! a 2) 3))) > (unbox

Re: [racket] begin vs +

2010-08-02 Thread Keiko Nakata
Hi, From: Matthew Flatt > At Mon, 02 Aug 2010 21:54:54 +0900 (JST), Keiko Nakata wrote: > > Why this code > > > > (let ([d (box #f)] [a (box 0)]) > > (print (+ (begin (let/cc k (begin (set-box! d k) (set-box! a 2) 3))) > > (unbox > > a))) > > ((unbox d) 9)) > > > > prints 5, rat

Re: [racket] begin vs +

2010-08-02 Thread Robby Findler
One possible source of confusion: begin that appears at the top-level (of a module or in the REPL) or in a definition context (like the body of a let expression or lambda expression) is treated specially from other begins; specifically, it is treated as if the contents of the begin were separate ex

Re: [racket] begin vs +

2010-08-02 Thread Matthew Flatt
At Mon, 02 Aug 2010 21:54:54 +0900 (JST), Keiko Nakata wrote: > Actually, I didn't see. > > Why this code > > (let ([d (box #f)] [a (box 0)]) > (print (+ (begin (let/cc k (begin (set-box! d k) (set-box! a 2) 3))) (unbox > a))) > ((unbox d) 9)) > > prints 5, rather than 5999? I

Re: [racket] syntax, differently

2010-08-02 Thread Marco Morazan
On Mon, Aug 2, 2010 at 7:21 AM, Horace Dynamite wrote: > On Sat, Jul 31, 2010 at 4:00 PM, Matthias Felleisen > wrote: > >> 1. Could drracket limit the width of programs in the teaching language world >> to 80 columns? > > As another student, this "feature" would really annoy me.  Having read > M

Re: [racket] begin vs +

2010-08-02 Thread Keiko Nakata
Actually, I didn't see. Why this code (let ([d (box #f)] [a (box 0)]) (print (+ (begin (let/cc k (begin (set-box! d k) (set-box! a 2) 3))) (unbox a))) ((unbox d) 9)) prints 5, rather than 5999? Keiko _ For list-related administ

Re: [racket] syntax, differently

2010-08-02 Thread Robby Findler
On Mon, Aug 2, 2010 at 7:25 AM, Matthias Felleisen wrote: > > On Aug 2, 2010, at 7:21 AM, Horace Dynamite wrote: > >> I don't understand why instructors can't just explain to students what >> style they should write in, and shout at them when they unnecessarily >> break the style. This seems like

Re: [racket] syntax, differently

2010-08-02 Thread Marco Morazan
On Sun, Aug 1, 2010 at 11:31 PM, Todd O'Bryan wrote: >> Like this: >> >> (define distance >> (case-lambda >> ((p q) (distance (posn-x p) (posn-x q) (posn-y p) (posn-y q))) >> ((x0 y0 x1 y1) (sqrt (+ (sqr (- x0 y0)) (sqr (- x1 y1))) >> > Right. But we don't let students do that! We don't e

Re: [racket] begin vs +

2010-08-02 Thread Keiko Nakata
From: Matthew Flatt > Each form at the top level is wrapped in a prompt, and the content of a > top-level `begin' is spliced into the top level. I see. Otherwise it should diverge. Thanks, Keiko _ For list-related administrative tasks: http://

[racket] rendering lists of strings as at-expressions in scribbled documentation

2010-08-02 Thread Tim Brown
[Sorry... I'm well practiced at forgetting to attach the meaningful bits... Take two!] Hello all, I'm using racket and scribble-lp to automatically generate C-code. I get nice LP documentation of my racket-level scripts, but (by the nature of what I'm doing) I have code like:

[racket] rendering lists of strings as at-expressions in scribbled documentation

2010-08-02 Thread Tim Brown
Hello all, I'm using racket and scribble-lp to automatically generate C-code. I get nice LP documentation of my racket-level scripts, but (by the nature of what I'm doing) I have code like: --- ... --

Re: [racket] syntax, differently

2010-08-02 Thread Matthias Felleisen
On Aug 2, 2010, at 7:21 AM, Horace Dynamite wrote: > I don't understand why instructors can't just explain to students what > style they should write in, and shout at them when they unnecessarily > break the style. This seems like a better method that stepping into > the thorny area of having DrR

Re: [racket] begin vs +

2010-08-02 Thread Matthew Flatt
At Mon, 02 Aug 2010 20:42:34 +0900 (JST), Keiko Nakata wrote: > This code prints "hi" twice, > > (define d (box #f)) > > (+ (begin (let/cc k (begin (set-box! d k) 3))) (begin (print "hi") 9)) > > ((unbox d) 0) > > whereas this prints "hi" once > > (define d (box #f)) > > (begin (begin (let/c

[racket] begin vs +

2010-08-02 Thread Keiko Nakata
Hello, This code prints "hi" twice, (define d (box #f)) (+ (begin (let/cc k (begin (set-box! d k) 3))) (begin (print "hi") 9)) ((unbox d) 0) whereas this prints "hi" once (define d (box #f)) (begin (begin (let/cc k (begin (set-box! d k) 3))) (print "hi")) ((unbox d) 0) Why? Keiko __

Re: [racket] syntax, differently

2010-08-02 Thread Horace Dynamite
On Sat, Jul 31, 2010 at 4:00 PM, Matthias Felleisen wrote: > 1. Could drracket limit the width of programs in the teaching language world > to 80 columns? As another student, this "feature" would really annoy me. Having read Matthias' style guidelines on his assignments webpage for HtDP, I was