Thanks Will!&nbsp; I tried it and it works ;) except the generic make method - i.e. can&#39;t do (make &lt;my-struct&gt; ...). <br><br>After looking at the defstruct code - it appears that it calls a private function called struct-type-&gt;class* and this function builds on top of struct-type-&gt;class and use it to track the slots for all the types created via defstruct and thus allow the structs to be created via made.&nbsp; 
<br><br>I guess to fully integrate with the make method the function struct-type-&gt;class* should be exported...?<br><br>Thanks!<br>yc<br><br><div><span class="gmail_quote">On 9/6/07, <b class="gmail_sendername">Will M Farr
</b> &lt;<a href="mailto:farr@mit.edu">farr@mit.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;">On Sep 6, 2007, at 2:43 PM, YC wrote:
<br><br>&gt; Hi all -<br>&gt;<br>&gt; how can one create a custom struct (i.e. make-struct-type or define-<br>&gt; struct* from ryanc) but make it work with swindle&#39;s object system?<br><br>Keep the structure type descriptor (the first value which make-struct-
<br>type returns), and use swindle&#39;s struct-type-&gt;class on that<br>descriptor to obtain a class object which describes structs of that<br>type.&nbsp;&nbsp;For example:<br><br>(define-values (struct:my-struct make-my-struct my-struct? my-struct-
<br>get my-struct-set!)<br>&nbsp;&nbsp; (make-struct-type &#39;my-struct #f 1 0))<br><br>(define &lt;my-struct&gt; (struct-type-&gt;class struct:my-struct))<br><br>Now you can use &lt;my-struct&gt; anywhere a class object could be used in
<br>Swindle.<br><br>Good luck!<br><br>Will<br><br></blockquote></div><br>