Hi Daniel - <br><br>Sorry to be unspecific - I thought my error has to do with me not understanding the module loading system, that&#39;s why I ask the question this way.&nbsp; <br><br>The error that I am seeing is:<br><br>module: no #%module-begin binding in the module&#39;s language in: (module foo (lib &quot;
util.scm&quot; &quot;util&quot;) (require (lib &quot;trace.ss&quot;)) (define x 1) (provide (all-defined)))<br><br>I tried your example and it worked (of course ;P), and I try to figure out the difference between the two - and it turns out the line 
<br><br><div style="margin-left: 40px;">(provide (all-from mzscheme)) <br></div><br>is what I am missing - when I add that to my module it also worked ;)&nbsp; So I asked the wrong question, but you gave me the right answer - thanks :P 
<br><br>The planet development link and idea sounds interesting - I will take a look at it ;)&nbsp; <br><br>Thanks,<br>yinso <br><br><div><span class="gmail_quote">On 5/1/07, <b class="gmail_sendername">Daniel Yoo</b> &lt;<a href="mailto:dyoo@cs.wpi.edu">
dyoo@cs.wpi.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>&gt; but I cannot then use the module in the language position (per my
<br>&gt; understanding that&#39;s how one can create a new language...) - so the<br>&gt; following don&#39;t work:<br>&gt;<br>&gt; (module foo (lib &quot;util.scm&quot; &quot;util&quot;)<br>&gt; ....)<br><br>Hi Yinso,<br>
<br>Can you be more specific?&nbsp;&nbsp;Do you mean that the module system doesn&#39;t see<br>it at all, or does something else happen?&nbsp;&nbsp;If you can show us a specific<br>error message, maybe we can help to explain it.<br><br><br>Here&#39;s an example of a language that includes a compose primitive (which
<br>is slightly silly, since one exists in (lib &quot;etc.ss&quot;)... )<br><br>#########################################################<br>mithril:~/Desktop dyoo$ cat test/mzscheme-with-compose.ss<br>(module mzscheme-with-compose mzscheme
<br>&nbsp;&nbsp; (provide (all-from mzscheme))<br><br>&nbsp;&nbsp; (provide compose)<br><br>&nbsp;&nbsp; (define (compose f g)<br>&nbsp;&nbsp;&nbsp;&nbsp; (lambda (x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (f (g x)))))<br><br><br>mithril:~/Desktop dyoo$ PLTCOLLECTS=~/Desktop mzscheme<br>Welcome to MzScheme 
v369.10 [3m], Copyright (c) 2004-2007 PLT Scheme Inc.<br>&gt;<br>&gt;<br>&gt; (module test-compose (lib &quot;mzscheme-with-compose.ss&quot; &quot;test&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp; (printf &quot;hello ~a~n&quot; ((compose string-upcase
<br>(lambda (x) (string-append x x)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;yinso&quot;)))<br>&gt; (require test-compose)<br>hello YINSOYINSO<br>#########################################################<br><br>So there&#39;s no requirement that language modules have to live in a specific
<br>place, just as long as the module resolver can find them.<br><br><br>One of the really minimal languages, like Dave Herman&#39;s mzlite.plt PLaneT<br>package, might also help you get started:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://planet.plt-scheme.org/display.ss?package=mzlite.plt&amp;owner=dherman">
http://planet.plt-scheme.org/display.ss?package=mzlite.plt&amp;owner=dherman</a><br><br><br><br>&gt; If that&#39;s the solution, then a related question would be how one should<br>&gt; organize source code so one don&#39;t have to pollute the \plt\collects
<br>&gt; directory so it works well in the face of an upgrade.<br><br>Doing things in the PLaneT framework seems to be less problematic for me.<br>It sounds like you&#39;ve configured PLTCOLLECTS.&nbsp;&nbsp;For personal development,
<br>rather than do something with the PLTCOLLECTS environmental variable, I&#39;ve<br>been taking advantage of PLaneT&#39;s development link feature.<br><br>We can register a directory to act as a development link for PLaneT, so
<br>that module references like (planet &quot;some-module.ss&quot; (&quot;dyoo&quot;<br>&quot;package.plt&quot;)) resolve locally to my work directory.&nbsp;&nbsp;It makes things<br>easier if the code ends up being useful enough to really migrate onto
<br>PLaneT.<br><br>If you&#39;re interested, see the section on &quot;Development links&quot; and the<br>&quot;--associate&quot; option in:<br><br>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://pre.plt-scheme.org/plt/collects/planet/doc.txt">http://pre.plt-scheme.org/plt/collects/planet/doc.txt
</a><br><br><br><br>Good luck!<br></blockquote></div><br>