[racket] syntax, differently

From: Horace Dynamite (horace.dynamite at gmail.com)
Date: Mon Aug 2 07:21:39 EDT 2010

On Sat, Jul 31, 2010 at 4:00 PM, Matthias Felleisen
<matthias at ccs.neu.edu> 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
perfectly aware that I should try my best to keep my lines less than
80 characters, and not to march my parens back over to the left after
a definition, etc. (This actually just matched my natural aesthetics
requirements anyway...).

There were some exercises in HtDP (Queens,Cannibals, IIRC), that I
just found I had to exceed to 80 characters for it read nicely to me.
For instance, when you start getting into patterns like

(define (...)
   (cond (p1 e1)
            (else (local [(define (...)
                                   (cond (p2 e2)
                                              (else (local [.... etc.

augmented with descriptive names, I can tell you that 80 characters
quickly gets chewed up.

> 2. Could drracket reindent all every time a programmer hits {return | run | submission server request }?

If this is aimed at students, then I must be in a minority that takes
care of my programs formatting whilst I'm writing it. This feature has
only ever been useful to me when I've copied & pasted code from Help
Desk, since that always seems to be padded with whitespace on the left
when you paste it into DrRacket, but this wouldn't bother me as much
as the other suggestion, since if my code is indented properly, the
feature doesn't do any shuffling it seems, but for larger programs, it
would make the edit/run cycle more sluggish that it already is on
lower powered machines with DrRacket.

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 DrRacket do all this stuff.


Posted on the users mailing list.