[cffi-devel] Round trips through parse-type, unparse-type

Liam Healy lnp at healy.washington.dc.us
Fri May 11 03:38:17 UTC 2012


n Sun, May 6, 2012 at 6:13 AM, Luís Oliveira <luismbo at gmail.com> wrote:

> On Sat, May 5, 2012 at 4:40 PM, Liam Healy <lnp at healy.washington.dc.us>
> wrote:
> > However, this comment got me to thinking that there are a lot of
> > (unnecessary) round trips through parse-type/unparse-type.  It seems to
> me
> > that they could be eliminated or reduced.  Perhaps as a design
> philosophy,
> > we should only have parsed types internally, and then we won't need
> > unparse-type at all?   Changing this would be a lot of work, I realize.
>
> What makes you say there are a lot round-trips through parse- and
> unparse-type? Grepping the source we code, we can find two usages of
> unparse-type: (1) the make-load-form method for foreign-type and (2)
> some foreign-array-type code.
>
> (2) shouldn't be there and it's got a FIXME nearby. (1) is why
> unparse-type was introduced. Instances of foreign-type can end up in
> fasls after various macros and compiler macros kick in and so we need
> a way to serialize them.
>
> Cheers,
>
> --
> Luís Oliveira
> http://r42.eu/~luis/
>

Ah, OK, not round trips, forget what I said about unparse-type.  My sense
is there's repeated reparsing.  If a type was always parsed when read, and
the parsed form is stored, would that save some reparsing?   So the type
slot in foreign-struct-slot would not need to be parsed each time it's used.

Thanks,
Liam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20120510/12dda850/attachment.html>


More information about the cffi-devel mailing list