[plt-scheme] conditional module inclusion and compilation
On Sep 2, 2009, at 8:00 PM, Robby Findler wrote:
> Also, when your program is visible at compile time then various tools
> (check syntax, module browser, compiler, etc) work better.
My first thought in reading this was "then maybe it should make it
easier to implement arglist-on-space"!
When I brought this up recently several of you pointed to some related
utilities (helpful but not the same as having arglist-on-space right
in DrScheme) and Eli pointed out that in PLT the whole concept is
somewhat problematic because of definitions with case-lambda and
multiple possible arglists of different arities. Fair enough. But
after working in DrScheme for about a month this is still the #1 thing
I miss from my favorite CL environments, and I'd walk a mile even for
an imperfect version that just punted on the weird cases and said
something like "see source code." BTW the ideal version of this in the
DrScheme context would also keep the arglist information from the most
recent compile (as in MCL for example), so that you can get the
arglists for functions defined in the same file if you've already
compiled it once (and if they're wrong because you subsequently edited
the definitions I could live with that too).
BTW the #2 thing I'm missing is the ability to see local variables
from the context of an error condition, all the way up the activation
record stack. And evaluate expressions in that context. As far as I
can see one can't even do either of these things from the graphical
debugger, although that seems to run too slowly for me to use it on my
current application anyway. In every CL I've used one can do both of
these things in some way, whether graphically (very nice in MCL and on
some Lisp machines I used long ago) or textually (awkward but you
could at least explore the context in which the error occurred). Maybe
this is somehow incompatible with the whole PLT compilation model or
something... but if not I'd love to be able to do it!
Thanks,
-Lee
--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspector at hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438
Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com