guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 25/25] ice9/attr: implement xattr-list procedure


From: Andy Wingo
Subject: Re: [PATCH 25/25] ice9/attr: implement xattr-list procedure
Date: Thu, 09 Mar 2017 21:33:21 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hello Dmitry :)

Thanks for this patch series.  As you can see it was a bit daunting to
review :)  Sorry for the delay.

I think the xattr work is probably most appropriate for a separate
library.  Guile doesn't currently bundle any modules that use the
dynamic FFI to bind C functions.  You can understand my hesitation to
take responsibility for ABI mismatches between Guile and a third-party
library that I don't know a lot about.  I think that a separately
packaged library would do a better job.

The (system foreign declarative) work looks really interesting.  We
definitely need a higher-level FFI.  I have some opinions here but I
don't have the cycles to hash them out :/  Basically I have had good
experiences with LuaJIT's ffi recently and would like to try something
like that some time.  It's especially wonderful for data.  I also think
that in Guile we should have the ability to tag bytevectors with a type,
so that we can access their fields in a nice way, so they print nicely,
and all that with just a couple words overhead per struct.  Maybe in
some cases we can even optimize it out.  It would be nice to have a path
towards no-allocation FFI data access in many cases.

But your code is really great too.  Different from what I was thinking
about, but well done.  That makes me think that we should not
incorporate anything into Guile at this time; rather we should encourage
people to experiment and build nice third-party high-level FFIs as
librarys, and encourage others to use those libraries, possibly even by
just copying them into users' source trees, to minimize dependency
hell.

What do you think?

Andy



reply via email to

[Prev in Thread] Current Thread [Next in Thread]