Why don't you start with these guidelines:

  context = TL + tp(1) + ... + tp(n)

The first page must contain only:
 (1) all query results that concern tp(i)
 (2) all results concerning TL
 (3) tp results appear BEFORE TL results
[(4) we might also wish to order results so that those for tp(j) occur before tp(i) if j > i]

All other results appear on pages 2 and up.

I suspect you can scale these rules to #lang scheme/gui and friends. I just wish we had scheme/redex.

-- Matthias





On Apr 17, 2009, at 3:54 PM, Eli Barzilay wrote:

On Apr 17, Matthias Felleisen wrote:

On Apr 17, 2009, at 3:46 PM, Eli Barzilay wrote:

On Apr 17, Matthias Felleisen wrote:

Well what we have now is way way way suboptimal as even experienced
FPers (thought not Schemers) in our lab get tripped over this stuff.

1. I had forgotten that context narrowing exists. Other people don't
   seem to know either.

1a. I bet the interface is too clumsy, if people can't find what
    they want.

Like I said, suggestions are welcome. (That's the part that should be
easier to fix.)  I can't think of anything better.

2. We need automatic context narrowing for teaching languages from
HtDP (and its relatives).

That's doable (and as Robby reminded, we had it for a while), but
to do it properly it requires a more powerful query syntax --
allowing `or' queries, or allowing changing the order of results.
This part is harder to fix

For now, I am proposing that we order the query results by
information from the context. Specifically, we display all
information that are relevant according to the context on the first
page. Everything else is displayed on page 2 and up.

How's that? -- Matthias

That's exactly the hard part.  It's even more than just the hard part,
it combines both `or' queries, and reordering the results.  (And in
the meantime it doesn't address the problem of making the context
query more usable.)

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

_________________________________________________
 For list-related administrative tasks:
 http://list.cs.brown.edu/mailman/listinfo/plt-dev

Reply via email to