[racket] DrRacket indent of "let:"

From: Casey Klein (clklein at eecs.northwestern.edu)
Date: Fri Dec 24 16:01:48 EST 2010

On Fri, Dec 24, 2010 at 2:56 PM, Neil Van Dyke <neil at neilvandyke.org> wrote:
> Casey Klein wrote at 12/24/2010 03:42 PM:
>>
>> Adding `let:' to the list of "Lambda-like Keywords" in DrRacket's
>> "Editing" preferences makes your first two examples indent as in Quack. The
>> second two examples indent as follows.
>> (let: loop : Any
>> ..((x : Any)
>> ...(y : Any))
>> ..x
>> ..y)
>>
>> (let: loop
>> ..: Any
>> ..((x : Any)
>> ...(y : Any))
>> ..x
>> ..y)
>> Maybe all we need is to update the preference's default?
>>
>
> That would be a helpful temporary measure for people, but I suggest that
> additional work to do this better is appropriate.
>
> It's conventional for the non-body parts of a form like this to be indented
> more than the body forms if they appear after the first line, to distinguish
> them from the body.
>
> If we just add "let:" to "Lambda-like Keywords", then parts of a
> named-"let:" after the name are indented as if they are body forms.
>

At least it's consistent with the indentation of regular old `let' :-)

(let loop
..((x a)
...(y b))
..x
..y)


Posted on the users mailing list.