[racket] syntax, differently

From: Richard Cleis (rcleis at mac.com)
Date: Sat Jul 31 12:32:13 EDT 2010


RAC

On Jul 31, 2010, at 9:51 AM, Eli Barzilay <eli at barzilay.org> wrote:

> On Jul 31, Robby Findler wrote:
>> On Sat, Jul 31, 2010 at 10:00 AM, Matthias Felleisen
>> <matthias at ccs.neu.edu> wrote:
>>>
>>> Shriram's proposal and a private conversation with Mike suggested
>>> the following feature requests for the drracket teaching
>>> languages:
>>>
>>> 1. Could drracket limit the width of programs in the teaching
>>>   language world to 80 columns?
>>
>> This one seems doable (I'd probably make the text turn red when it
>> passes the 80th column or somethign instead of rejecting
>> keystrokes).
>
> Ha!  Back in Cornell I had a "DrSwindle" thing, which was a hack of
> DrScheme that was needed since it was in the pre-module-days and
> swindle was changing too much fro DrScheme to work.  One feature that
> I was sneaking in in addition to making it work with Swindle was an
> 80-character line limit, which I've always wanted.
>
> So, it would be nice if there was a general option to turn this on,
> not only for the student languages.
>
>
>>> 2. Could drracket reindent all every time a programmer hits
>>>   {return | run | submission server request }?

I reindent-all/check-syntax subconsciously, so my hot keys for  
reindent would last longer.  I'd like reindenting and reformatting to  
occur whenever 80 lines is approached, within the current definition  
under edit.  In effect, do automatically what Dr already does nicely:  
highlight from "(define..."  to the insertation point, and hit tab. I  
program by shooting for 72, and accepting 80 if necessary.

RAC


>>
>> I'd be worried about this that some edits one does (maybe opening a
>> string?) would cause strange things to happen to the editor based on
>> intermediate states of the program. [...]
>
> (And from a non-teaching-language perspective, there are cases where
> you want to change the indentation for some reason.  (*I* do that
> too.))
>
> -- 
>          ((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/users


Posted on the users mailing list.