On Mon, 7 Apr 2008, Luis Oliveira wrote:
I'd like to merge cffi+lotsastuff[1] with the main branch soon. People have started using that branch in several projects and that has generated unnecessary confusion. This branch includes the following new features:
- efficient external-format support for foreign strings
- cffi-grovel
- emulated long-long types
- other minor stuff
The only problem is that this branch brings in 3 new dependencies: babel[2], trivial-features[3] and alexandria[4]. Is this a big problem? I hope it isn't and I'll do the merge soon unless there are any objections.
I'd prefer if you held off on this one.
In particular, trivial-features bothers me. Libraries probably shouldn't modify the features set by an implementation. I would feel much more comfortable if all names were prefixed to reduce conflict. e.g. set :tf-darwin and :tf-linux instead of :darwin and :linux
Other thoughts: Babel is used for external string support, right? Does it slow down the base, untranslated case? Could it be optional/disabled for those of us who don't want translation?
Is there a structural reason to merge grovel with cffi? If not, could they stay separate? Does that reduce the core CFFI dependencies? You probably integrated grovel for trivial-features... Could tf search for :cffi-grovel in *features* and implement a fallback if not found?
Emulated long-long? Sounds good.
Thanks, Daniel