[racket-dev] Revision to the Language Dialog

From: Eli Barzilay (eli at barzilay.org)
Date: Tue Nov 6 12:04:58 EST 2012

Yesterday, Matthias Felleisen wrote:
> I second Sam's suggestions. 
> -- I would use "The Racket Language" for the first line of the first


(I see it in the new dialog, but looks like the language still has the
long name elsewhere.)

> I agree with Robby that *SLs probably have to reject (module ...)
> expressions EXCEPT that I don't see how they can get hold of the
> information that the programmer wrote down (other than guessing from
> the second position in the module expression but that sounds bad).

I think that it's fine for drr to spit an appropriate error (maybe
even with a shortcut "click ok to switch to #lang" button) if the
definitions text starts with a "#lang".  It's only stealing the
ability for the non-#lang languages to use "#lang" for something else,
but none of them are doing it now, and since it's something that
should eventually disappear there shouldn't be any new ones (or worse,
new ones that use it).

Also, the thing that sticks out to me (still) is the poor-looking UI.
It's using a radio button selection for something that it isn't
intended for (UI-ly speaking).  I think that this is the main thing
that leads to several smaller problems --

* the awkward use of "ctl-?" to switch,

* the confusing interaction if you're not a mouse user,

* the fact that the blurb line appears at the bottom (confusigly close
  to the "..." of the "other" languages),

* the weird interaction around the "..." (I obviously tried to click

* The fact that it's still steals a lot of screen space for something
  that most people shouldn't need (and DeinProgramm is making it take
  even more space?).

But I think that the organization is a good direction for something
that works nicely -- so how about this:

* Revert all the way back to the plain hierarchical dialog that was
  used before the radio button thing (= go back to a simple UI)

* Slap the current hierarchy on that, so that "The Racket Language" is
  first as it is now (and part of the hierarchy, top item), that
  preserves the current layout that encourages it.

* To deal with the teaching languages, have them expanded only if the
  current language is the no-language thing (though I still think that
  that language is confusing more people than helping them).

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.