Thank &nbsp;you! &nbsp;<br><br>Yes it does help. <br><br>I&#39;m trying to work out the class.ss equivalent of java class methods and fields like this; <br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
<span style="font-family: courier new,monospace;">public class ActivityManager extends Thread {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">[...]</span><span style="font-family: courier new,monospace;">
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> &nbsp; &nbsp;private synchronized static ActivityManager getInstance() {</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> &nbsp; &nbsp; &nbsp; &nbsp;if ( s_instance == null || !s_instance.isAlive() ) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s_instance = new ActivityManager();
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> &nbsp; &nbsp; &nbsp; &nbsp;}</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> &nbsp; &nbsp; &nbsp; &nbsp;return s_instance;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> &nbsp; &nbsp;}</span><br style="font-family: courier new,monospace;"></blockquote><span style="font-family: courier new,monospace;">
</span><span style="font-family: courier new,monospace;"></span>[code from <a href="http://prefuse.org">prefuse.org</a>; I&#39;m porting bits to scheme]<br><br>Do you mind if I put your example in the scheme cookbook?<br>
(in or near <a href="http://schemecookbook.org/Cookbook/IntroductionToMzlibClasses">http://schemecookbook.org/Cookbook/IntroductionToMzlibClasses</a> )<br><br>The &#39;Factory Pattern&#39; is next for me. Any suggestions gratefully accepted.
<br><br>Cheers,<br><br><br>Stephen<br><br><br><br><br><br>On Dec 11, 2007 2:58 AM, Matthias Felleisen &lt;<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>&gt; wrote:<br>&gt; On Dec 10, 2007, at 8:48 PM, Stephen De Gabrielle wrote:
<br>&gt; <br>&gt; &gt; Hi, I&#39;m trying to replicate the &#39;singleton&#39; pattern using class.ss,<br>&gt; &gt; but I&#39;m having a little trouble. Can anyone point of to an example?<br>&gt; <br>&gt; <br>&gt; One of the things you can do is instantiate a class once and export
<br>&gt; only that instance:<br>&gt; <br>&gt; (module singleton mzscheme<br>&gt; <br>&gt; &nbsp; &nbsp;(require (lib &quot;class.ss&quot;))<br>&gt; <br>&gt; &nbsp; &nbsp;(define one%<br>&gt; &nbsp; &nbsp; &nbsp;(class object%<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp;(super-new)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;(define/public (hello) one))<br>&gt; <br>&gt; &nbsp; &nbsp;(define one (new one%))<br>&gt; <br>&gt; &nbsp; &nbsp;(provide one))<br>&gt; <br>&gt; Inside the class you never use new; instead you refer to this<br>&gt; instance. Does this help?
<br>&gt; <br>&gt; -- Matthias<br>&gt; <br>&gt; <br>&gt; <br><br><br><br>-- <br>Cheers,<br><br>Stephen<br><br><br><br>--<br>Stephen De Gabrielle<br><a href="mailto:s.degabrielle@ucl.ac.uk">s.degabrielle@ucl.ac.uk</a><br>Telephone +44 (0)20 7679 5242 (x45242)
<br>Mobile &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;079 851 890 45<br><a href="http://www.uclic.ucl.ac.uk/annb/MaSI.html">http://www.uclic.ucl.ac.uk/annb/MaSI.html</a><br>University College London Interaction Centre<br>Remax House - 31/32 Alfred Place
<br>London - WC1E 7DP<br>