Should I try swindle?(tiny-clos)<br><br>The section &#39;<a href="http://pre.plt-scheme.org/docs/html/t-y-scheme/t-y-scheme-Z-H-1.html#node_toc_node_sec_12.2">Classes are instances too</a>&#39; in t-y-scheme addresses this too
<br><a href="http://pre.plt-scheme.org/docs/html/t-y-scheme/t-y-scheme-Z-H-14.html#node_sec_12.2">http://pre.plt-scheme.org/docs/html/t-y-scheme/t-y-scheme-Z-H-14.html#node_sec_12.2</a><br><br>Cheers, <br><br>Stephen<br><br>
<div class="gmail_quote">On Dec 12, 2007 2:33 PM, Stephen De Gabrielle &lt;<a href="mailto:stephen@degabrielle.name">stephen@degabrielle.name</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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" target="_blank">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" target="_blank">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><font color="#888888"><br><br>Stephen</font><div><div></div><div class="Wj3C7c"><br><br><br><br><br><br>On Dec 11, 2007 2:58 AM, Matthias Felleisen &lt;<a href="mailto:matthias@ccs.neu.edu" target="_blank">
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></div></div>-- <div><div></div><div class="Wj3C7c"><br>Cheers,<br><br>Stephen<br><br><br><br>--<br>Stephen De Gabrielle<br><a href="mailto:s.degabrielle@ucl.ac.uk" target="_blank">
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" target="_blank">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>
</div></div></blockquote></div><br><br clear="all"><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