<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16414" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV>Hi Wayne</DIV>
<DIV>Is this what you want?</DIV>
<DIV>&nbsp;</DIV>
<DIV>(module lang1 mzscheme<BR>&nbsp; (provide 
(all-defined)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
(all-from mzscheme))<BR>&nbsp; (define f 1))</DIV>
<DIV>&nbsp;</DIV>
<DIV>(module test1 lang1<BR>&nbsp; (provide (all-defined))<BR>&nbsp; (define 
(test1)<BR>&nbsp;&nbsp;&nbsp; (printf "~s~n"</DIV>
<DIV>&nbsp;&nbsp;&nbsp; &nbsp;(namespace-variable-value 'f #t (lambda () 
'undefined)</DIV>
<DIV>&nbsp;&nbsp;&nbsp; &nbsp;(module-&gt;namespace&nbsp;'lang1)))))</DIV>
<DIV>&nbsp;</DIV>
<DIV>(require test1)<BR>(test1) ; display 1</DIV>
<DIV>&nbsp;</DIV>
<DIV>(module lang2 mzscheme (provide (all-from mzscheme)))</DIV>
<DIV>&nbsp;</DIV>
<DIV>(module test2 lang2<BR>&nbsp; (provide (all-defined))<BR>&nbsp; (define 
(test2)<BR>&nbsp;&nbsp;&nbsp; (printf "~s~n" </DIV>
<DIV>&nbsp;&nbsp;&nbsp; (namespace-variable-value 'f #t (lambda () 
'undefined)</DIV>
<DIV>&nbsp;&nbsp; &nbsp;(module-&gt;namespace&nbsp;'lang2)))))</DIV>
<DIV>&nbsp;</DIV>
<DIV>(require test2)<BR>(test2) ; --&gt; display undefined</DIV>
<DIV>&nbsp;</DIV>
<DIV>Jos</DIV>
<DIV>&nbsp;</DIV>
<DIV>((((lambda(x)((((((((x x)x)x)x)x)x)x)x))<BR>&nbsp;&nbsp;&nbsp; 
(lambda(x)(lambda(y)(x(x y)))))<BR>&nbsp;&nbsp; (lambda(x)(x)x))<BR>&nbsp; 
(lambda()(printf "Greetings, Jos~n"))))</DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=support@taxupdate.com 
  href="mailto:support@taxupdate.com">support@taxupdate.com</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=jos.koot@telefonica.net 
  href="mailto:jos.koot@telefonica.net">jos koot</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Cc:</B> <A title=plt-scheme@list.cs.brown.edu 
  href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, April 27, 2007 2:37 
PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [plt-scheme] 
  namespace-variable-value</DIV>
  <DIV><BR></DIV>
  <DIV>Jos,<BR><BR>On Fri, Apr 27, 2007 at 07:30:26PM +0200, jos koot 
  wrote:<BR>&gt; Module level variables can be assigned to only by the module 
  itself. In this way the writer of a module is assured that the user of 
  <BR>&gt; the module cannot corrupt the variables.<BR><BR>It's not clear to me 
  whether this answers the question I'm trying to ask.&nbsp; Here's<BR>the 
  original code:<BR><BR>(module lang mzscheme<BR>&nbsp; (provide 
  (all-defined)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  (all-from mzscheme))<BR>&nbsp; (define f 1))<BR><BR>(module test 
  lang<BR>&nbsp; (provide (all-defined))</DIV>
  <DIV>&nbsp;&nbsp;(provide (all-from lang)<BR>&nbsp; (define 
  (test1)<BR>&nbsp;&nbsp;&nbsp; (display (namespace-variable-value 
  'f))))<BR><BR>(require test)<BR>(test1)<BR><BR>I don't want to set a 
  module-level variable outside of the module, I want<BR>to test whether it has 
  been defined.&nbsp; I expected the namespace-variable-value<BR>call to use 
  mapping (the default) to see that f has been imported.&nbsp; Am 
  I<BR>misunderstanding how namespace-variable-value 
  works?<BR><BR>Wayne<BR></DIV></BLOCKQUOTE></BODY></HTML>