[racket-dev] A few suggestions on indentation and DrRacket graphical syntax

From: Neil Toronto (neil.toronto at gmail.com)
Date: Fri May 11 13:37:05 EDT 2012

On 05/09/2012 02:18 AM, Laurent wrote:
>  From the guide: "Caveat 1: Until language specifications come with
> fixed indentation rules, we need to use the default settings of
> DrRacket’s indentation for this rule to make sense."
>
> Maybe a special submodule like drracket-indentation with declarations like:
> (module+ drracket-indentation
>    (like-lambda my-lambda my-function ....)
>    (like-begin my-begin ....)
>    )
> could be useful for user-specific indentation.
>
> As a submodule, Racket can read&load it only at appropriate moments.
> When indenting the file, DrRacket could first load the
> drracket-indentation module of the file to know how to indent it.
>
> One could then create a whole language with its own indentation rules.
> It would also be easier to add good indentations for for/fold and others.

That would be awesome for Typed Racket macros in particular. Its `for' 
macros are great examples of forms that should have fairly complex 
indentation rules. Optional type declarations make it difficult to 
classify them as "begin-like", "define-like" or "lambda-like".

Neil ⊥

Posted on the dev mailing list.