[plt-scheme] Inadequate indentation facility in MrEd/DrScheme

From: James Russell (j.russell at alum.mit.edu)
Date: Thu Jun 19 09:48:47 EDT 2008

On Thu, Jun 19, 2008 at 8:20 AM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
> In principle: I think you're right and we have discussed a meta-programming
> facility that would allow macro-defined languages (like the one for looping
> constructs) not only to specify a semantics but also IDE attributes such as
> indentation. We discussed this a year ago, when we moved to #lang and
> reader; I am certain that one year we'll add it in. (I don't know of any
> other language that provides such meta-programming facilities so this is a
> task with a research-y flavor.)

That would be cool, but it's really more ambitious than anything I was
seriously expecting.

Now that I've thought about it a little more, I think that the 80% (or
90%) solution
would simply be to extend the 'lambda-like keywords' part of the indentation
customization with the ability to specify the number of distinguished sub-forms
(that get four spaces rather than two), if it's greater than one.

I imagine that it could even look to the user like the 'cond-like
keywords' in the
square bracket customization, with the number of sub-forms specified in

Of course, the actual indenting code would have to be changed, but this solution
would entail fairly localized changes, I think.  Maybe I'll try it out
at some point
if no one else is interested.

I'm frankly surprised that this doesn't come up more often.  I'm sure
I'm not the
first person to have noticed this, but it's inadequacy is, manifestly,
not as manifest
as I believed.  Maybe I'm just really picky.

Or does everyone else just use emacs for hard-core development in PLT scheme?
That's what I had always done in the past, but I thought to give the
built-in editor a try,
and I noticed this almost right away.

All the best,
James Russell

> In detail: My answer has no relation to the specific details of your inquiry
> concerning for*
> -- Matthias

Posted on the users mailing list.