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

From: Laurent (laurent.orseau at gmail.com)
Date: Wed May 9 06:55:06 EDT 2012

* Line-width

In GEdit, there's an option to show a thin vertical line at 80 chars
(modifiable number).
I find it of great help to avoid writing long lines, which I tend to not do
otherwise or often (inconveniently) look at the column number to see where
I am.
Such a vertical line might be a good idea for DrRacket.

Laurent

On Wed, May 9, 2012 at 10:18 AM, Laurent <laurent.orseau at gmail.com> wrote:

> Hi,
>
> Reading the style guide for Racket, I came up with a few debatable
> suggestions.
> ( http://www.ccs.neu.edu/home/matthias/Style/style/Textual_Matters.html )
>
> Apologies if this has already been longly debated.
>
> * Indentation: adding new indentations constructs to DrRacket
>
> 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.
>
> * Graphical syntax
>
> "When we figure out how to save such files in an editor-compatible way, we
> may relax this constraint."
>
> Maybe the graphical job should be done by DrRacket only, and the file
> itself should remain textual.
> For example, special forms can be turned into graphics by DrRacket when
> reading the file:
> You write:
> (image "balloon.jpg")
> and DrRacket turns this into the image (if the option is turned on
> somewhere in the preferences).
> Of course, the s-exp should still be editable, for example with a
> contextual menu that proposes "Back to s-exp" or "Turn me into graphical
> form".
>
> Or even surround it with a form like (drracket-show-image (image
> "balloon.jpg") 48 48) for better rendering (that form obviously expands
> into (image "balloon.jpg") for Racket).
>
>
> Same for code folding, 2 options:
> - either surround s-exps with a (drracket-fold ....) form to inform
> DrRacket to fold the s-exp, and Racket to just do what's inside the form,
> (but that "pollutes" the file for external editors, though an `unfold-file'
> function should not be too difficult to do)
> - or do not save folding into the file (loading a file displays it
> unfolded, then it can be folded as desired). This might be problematic with
> DrSync though, unless the file is not reverted if it has not changed.
>
>
> But I agree all this would require some work, certainly.
>
> Laurent
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20120509/9ca90867/attachment.html>

Posted on the dev mailing list.