Hey danny.&nbsp; That must not have come across right.&nbsp; I&#39;ll try a differnt way.<br><br>Try doing the following:<br><br>menu option language-&gt;choose language-&gt;plt-&gt;pretty big<br><br>type in some module:<br>(module test-lang (lib &quot;
plt-pretty-big-text.ss&quot; &quot;lang&quot;)<br>&nbsp; (provide (all-defined))<br>&nbsp; (display &quot;hi there!&quot;))<br><br>click the green &quot;run&quot; button...<br><br>Nothing happens, cause your language isn&#39;t set as &quot;(module ...)&quot;
<br><br><br>Now, 90% of my code, must remain outside of modules.&nbsp; So open another tab, and type in another program:<br><br>(display &quot;this is another program).<br><br>then do:&nbsp; <br>menu option language-&gt;choose language-&gt;plt-&gt;(module ...)
<br><br>click the green run button <br><br>module-language: only module expressions are allowed in:...<br><br>because it&#39;s not a module.&nbsp; the idea is that with some tabs having modules, and some tabs having .scm files, choosing the &quot;(module ...)&quot; drscheme language for just the tabs with module files would be nice, since it&#39;s a pain to set that on each reload.&nbsp; 
<br><br><br>I doubt that<br><br>(module test-lang (lib &quot;(module ...)&quot; &quot;lang&quot;)<br><br>would do anything usefull :)<br><br>Corey<br><br><div><span class="gmail_quote">On 1/17/07, <b class="gmail_sendername">
Danny Yoo</b> &lt;<a href="mailto:dyoo@hkn.eecs.berkeley.edu">dyoo@hkn.eecs.berkeley.edu</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><br>On Wed, 17 Jan 2007, Danny Yoo wrote:<br><br>&gt; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>&gt; (module test-lang (lib &quot;plt-pretty-big.ss&quot; &quot;lang&quot;)<br>&gt;&nbsp;&nbsp;(define (hypotenuse a b)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;(sqr (+ (sqrt a) (sqrt b)))))<br>&gt; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br>Hi Corey,<br><br>Oh good grief, that&#39;s not the definition of the hypotenuse function...<br>*grin*&nbsp;&nbsp;Sorry about that.
<br><br><br>But I wanted to add that if you have this as a file, you can then invoke<br>it by using REQUIRE.&nbsp;&nbsp;You&#39;ll also probably want to expose the contents of<br>the module to the outside world, which is done by using the PROVIDE form.
<br><br>So, for example:<br><br>########################################################################<br>dyoo@dyoo-desktop:~$ cat test-lang.ss<br>(module test-lang (lib &quot;plt-pretty-big-text.ss&quot; &quot;lang&quot;)
<br><br>&nbsp;&nbsp; (provide (all-defined))<br><br>&nbsp;&nbsp; ;; hypotenuse: number number -&gt; number<br>&nbsp;&nbsp; ;; Computes the hypotenuse of a right triangle with legs a and b.<br>&nbsp;&nbsp; (define (hypotenuse a b)<br>&nbsp;&nbsp;&nbsp;&nbsp; (local ((define a*2 (sqr a))
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (define b*2 (sqr b)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (sqrt (+ a*2 b*2)))))<br><br><br>dyoo@dyoo-desktop:~$ mzscheme<br>Welcome to MzScheme v369.4 [3m], Copyright (c) 2004-2007 PLT Scheme Inc.<br>&gt; (require &quot;test-lang.ss
&quot;)<br>&gt; (hypotenuse 3 4)<br>5<br>########################################################################<br><br><br>Finally, have you already seen these?<br><br>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.htus.org/Book/Staging/how-to-use-modules/">
http://www.htus.org/Book/Staging/how-to-use-modules/</a><br><br>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://hkn.eecs.berkeley.edu/~dyoo/plt/modules.text">http://hkn.eecs.berkeley.edu/~dyoo/plt/modules.text</a><br><br><br>Hope this helps!<br></blockquote>
</div><br><br clear="all"><br>-- <br>((lambda (y) (y y)) (lambda (y) (y y)))