<br><br><div><span class="gmail_quote">On 1/18/07, <b class="gmail_sendername">John Clements</b> &lt;<a href="mailto:clements@brinckerhoff.org">clements@brinckerhoff.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>On Jan 17, 2007, at 4:56 PM, Corey Sweeney wrote:<br><br>&gt; Hey danny.&nbsp;&nbsp;That must not have come across right.&nbsp;&nbsp;I&#39;ll try a<br>&gt; differnt way.<br><br>Your initial e-mail suggested having language levels associated with
<br>files.&nbsp;&nbsp;I believe that the principal difficulty in implementing this<br>is the fact that there&#39;s not an obvious cross-platform file metadata<br>format.&nbsp;&nbsp;Also, some users might be surprised when they open a new<br>
file and it behaves in a &quot;weird&quot; way. Finally, I think it&#39;s not an<br>incredibly high-priority item; I just counted, and I count six<br>keystrokes in going from (module...) to pretty big, and four<br>keystrokes to go back again. Of course, this doesn&#39;t include the
<br>irritation of forgetting to switch, and running the program only to<br>be told that you have more than one expression (or worse, simply<br>evaluating the module without opening it).</blockquote><div><br><br>Since I my average drscheme window opens with about 10 tabs (I have no idea if everyone else is doing this or not), and 8 or 9 of the tabs would be &quot;pretty big&quot;, that makes the operation 8*6 = 48 keystrokes every other time i load drscheme.&nbsp; either that or load drscheme, set &quot;pretty big&quot;, close drscheme, and reload drscheme, then do the 2*4 = 8 keystrokes to fix the 2 module tabs.&quot;&nbsp; However the time to launch drscheme is quite large, expecially for those of us running &quot;plt-full&quot;.&nbsp; (
i.e. all the collects from the svn, not just the bare minimum from the standard distribution).&nbsp; Also, I tend to run 3 instances of drscheme at a time (i wrote a script to open multiple tabs with multiple windows), which increases shutdown and restart times.
<br><br><br>A thought....&nbsp; The thing that prevents me from writing a fix for this myself is that i cannot effect things from the interactions window.&nbsp; I.E.&nbsp; if from the interactions window i could type &#39;(set-language (tab 4) &quot;(module ...)&quot;)&#39;, i would probably find my own solution to this, and integrate it into my &quot;project manager&quot;.&nbsp; (my &quot;project manager&quot; runs other instances of drscheme from the command shell via &quot;system&quot; when you want to edit a file.).&nbsp; 
I.E. I can&#39;t do it from the interactions area manually, so I won&#39;t be able to figure out how to write a program to do it without launching a major &quot;research project&quot;.<br><br>Now i&#39;m actually going somewhere with this...&nbsp; Is it possible to load drscheme, and then from the drscheme interactions window, load drscheme?&nbsp; Then from the interactions window of drscheme instance #1 be able to manipulate in some way drscheme instance #2, with something like &#39;(set-language (tab 4) &quot;(module ...)&quot;)&#39; perhaps?&nbsp; (i&#39;m sure I have the syntax wrong, but you get the idea)
<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">This is probably more of an issue for you than for most, because most<br>of your code is in the &quot;pretty big&quot; language; I suspect that for many
<br>PLT users, nearly all of their code is in modules.<br><br>I think that Danny was suggesting that you throw _all_ of your code<br>in modules, wrapping the &quot;pretty big&quot; ones with (module &lt;module-name&gt;<br>
(lib &quot;pretty-big.ss&quot; &quot;lang&quot;) ...) (that&#39;s from memory, apologies for<br>any errors there).&nbsp;&nbsp;Of course, there may be some reason why this<br>isn&#39;t possible for you.</blockquote><div><br>Yes, unfortunately most of my libraries, call libraries, that calls a library that needs to call eval.&nbsp; however, if i use modules, the namespace of the intermediate library dissapears, and the call to eval will not work, because it happens at the top level namespace.&nbsp; Since it needs access to the namespace of the library that called it, and not the top level namespace, I must put all my libraries in the top level namespace.&nbsp; Of course I can still use closure based modules, but that dosn&#39;t let me use the neat module tools that i&#39;m hoping to discover as i start using modules more often. :)&nbsp; 
<br>{note, it&#39;s been over a year since I tried, so i may be off in some of the details}<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hope this helps ... to clarify the problem, at least.<br><br>Corrections Cheerfully Accepted (CCA),<br><br>John Clements<br><br><br><br><br></blockquote></div><br>Corey<br clear="all"><br>-- <br>((lambda (y) (y y)) (lambda (y) (y y)))