[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH 25/25] ice9/attr: implement xattr-list procedure,
Andy Wingo <=