[plt-scheme] swindle and custom struct
Thanks Will! I tried it and it works ;) except the generic make method -
i.e. can't do (make <my-struct> ...).
After looking at the defstruct code - it appears that it calls a private
function called struct-type->class* and this function builds on top of
struct-type->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.
I guess to fully integrate with the make method the function
struct-type->class* should be exported...?
Thanks!
yc
On 9/6/07, Will M Farr <farr at mit.edu> wrote:
>
> On Sep 6, 2007, at 2:43 PM, YC wrote:
>
> > Hi all -
> >
> > how can one create a custom struct (i.e. make-struct-type or define-
> > struct* from ryanc) but make it work with swindle's object system?
>
> Keep the structure type descriptor (the first value which make-struct-
> type returns), and use swindle's struct-type->class on that
> descriptor to obtain a class object which describes structs of that
> type. For example:
>
> (define-values (struct:my-struct make-my-struct my-struct? my-struct-
> get my-struct-set!)
> (make-struct-type 'my-struct #f 1 0))
>
> (define <my-struct> (struct-type->class struct:my-struct))
>
> Now you can use <my-struct> anywhere a class object could be used in
> Swindle.
>
> Good luck!
>
> Will
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20070906/a592003b/attachment.html>