I've just pushed a change to DrRacket to do that. Thanks for the
prompting; it helped me realize a better approach than what was there
before.

The way it now works is less accurate than it was before but I think a
win overall. In particular, once DrRacket has completed check syntax
at least once (ie you've seen the green bubble in the bottom right
corner), then it will remember all of the modules that you've required
and, from that point forward, it will just use the syntax coloring
information to determine what name you might be typing and then update
the blue box based on that. So this means that you'll see docs on
things that are behind quotes and the blue boxes may ignore lexical
information, but probably this isn't a big deal (since if you shadow,
say, lambda, you don't mind still seeing information about the
require'd lambda even when a reference to the shadowing binding). On
the upside, it is more fun to type this into DrRacket now:

#lang racket
(define (f x) (for/list ([i (in-range x]) (* i i))

as you'll see the specs for define, for/list, in-range, and * go by.
You do still have to pause briefly for it to catch up with you, tho.

Robby

On Sun, Apr 5, 2015 at 8:21 AM, Joshua Grams <j...@qualdan.com> wrote:
> In DrRacket, is there any way to get the blue info box in the top-right 
> corner to show up for unfinished forms? As it is now, it only seems to show 
> up once the syntax checks. Which makes it basically useless as an aid to the 
> beginner writing code.
>
> I *thought* it might be useful when I was reading existing code, but in 
> practice I find that I can usually tell the intent from the naming and 
> structure, and don't need to dig into the exact details. So that leaves its 
> only real use (for me) for when I'm *modifying* existing code and need to 
> check the details of things I don't fully understand or remember.
>
> I realize that I could hit F1 and go to the help, but that's *much* slower 
> than just leaving the box open and having it more or less instantly show me 
> the options after I've typed the opening parenthesis and function name. For 
> me, anything that switches windows on me and then requires me to move my 
> hands from the keyboard to the mouse and point/click on something is just so 
> slow that I won't do it unless I'm really stuck. Especially when there's a 
> box in the interface *right there* which should already be showing me the 
> information I want.
>
> And it would be really terrific if it could show other options that might be 
> in context: e.g. after typing "(define" you would get:
>
> (define id expr)
> (define (head args) body ...+)
>
> define-syntax from racket/base, racket
> define-struct from racket/base, racket
> ...
>
> Does DrRacket do that?
>
> --Josh
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to