Maybe a ctype which is a delay node, along the lines of 'recursive-contract', is the right thing here.
Sam On Mon, Feb 2, 2015, 8:05 AM Anthony Carrico <acarr...@memebeam.org> wrote: > On 02/02/2015 01:17 AM, Matthew Flatt wrote: > > It's also valid to reference `wl_interface-pointer` directly: > ... > > > > I don't have a nicer solution if you want to refer to > > `_wl_message-pointer`, though. > > > > The forward reference is actually in wl_message, like this: > > (define-cstruct _wl_message > ((name _string/utf-8) > (signature _string/utf-8) > (types (_cpointer 'wl_interface)))) > > (define-cstruct _wl_interface > ((name _string/utf-8) > (version _int) > (method_count _int) > (methods _wl_message-pointer) > (event_count _int) > (events _wl_message-pointer))) > > I ended up just inlining (_cpointer 'wl_interface) for the forward > reference. This ends up creating two (_cpointer 'wl_interface) ctypes, > but it's no problem, correct? > > I don't think it is possible to "reference 'wl_interface-pointer' > directly" as you suggest in this case because of the "cannot reference > an identifier before its definition" error. > > -- > Anthony Carrico > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users >
____________________ Racket Users list: http://lists.racket-lang.org/users