This is cool. Do you present this at FOSDEM? Nikolaus
Am 03.01.2012 um 20:51 schrieb Stefan Bidi: > Seeing as it's been exactly 2 years since I started working on CoreBase, a > CoreFoundation implementation, I thought this would be a good time to give a > brief status of where the project currently stands and what the plans are for > the coming year. I also want to make it clear that I'm open to suggestions > and would welcome any comments. > > Let me start out by giving some background and this should help explain why I > chose the current direction for the project. GNUstep-corebase started out as > a simple wrapper around GNUstep-base classes and helped me get it off it's > feet quite quickly because most CF-types are toll-free bridged to Foundation > classes. This approach, however, could not support some of CF's features, > such as NULL callbacks for CFArray, CFDictionary, etc. In 2011 I started > re-writing these classes to be pure C and not just wrappers around > GNUstep-base. Since then, I've been able to rewrite all but CFPropertyList, > CFStream and CFURL. This allows some more flexibility and example code from > Apple to be compiled and run on top for -corebase. There are still a few > things, such as CFMachPort and anything that requires blocks and/or > mach_port_t that will not be implemented. > > As a general rule, I've been trying to keep dependencies down to a minimum. > Due to its internationalization features ICU is also a hard dependency and > the library cannot be built without it. For toll-free bridging, libobjc is > also required, and I have recently been toying around with the idea of making > libobjc an optional dependency. To keep dependencies down, native functions > are used wherever possible. For example, atomic_* function are used on > FreeBSD for atomic operations instead of GCC's __sync_*, and native Win32 > such as Interlocked* and CriticalSection functions on Windows. > > A few basic tests are setup for a few of the types, but do not test nearly as > many types as have been recently added. I do not own a Mac, so all these > tests are what I think they should be, not what they should actually be. I > would really appreciate bug reports in the for of tests for the testsuite. > > Lastly, I'd like to mention something about releases. The current plan is to > release version 0.1 of -corebase during Q1 2012. Realistically, the release > will likely happen mid-to-late March. It would include all the more basic > types, plus any of the ones that are easy to implement. Base, Byte-Order and > Time Utilities as well as the following CF-types have been implemented: > CFAllocator > CFArray > CFBag > CFBinaryHeap > CFBitVector > CFBoolean > CFCalendar > CFCharacterSet > CFData > CFDate > CFDateFormatter > CFDictionary > CFError > CFLocale > CFMessagePort > CFMutableArray > CFMutableBag > CFMutableBitVector > CFMutableCharacterSet > CFMutableData > CFMutableDictionary > CFMutableSet > CFMutableString > CFNull > CFNumber > CFNumberFormatter > CFSet > CFString > CFTree > CFType > CFUUID > CFXMLNode > CFXMLTree > The first release (0.1) will include everything above plus URL Access > Utilities and these 4 types: > CFPropertyList > CFTimeZone > CFURL > CFXMLParser > > The next release (0.2) will be tentatively release Q4 2012 and will > tentatively all other types: > CFAttributedString > CFBundle > CFFileDescriptor > CFMutableAttributedString > CFNotificationCenter > CFPlugIn > CFPlugInInstance > CFReadStream > CFRunLoop > CFRunLoopObserver > CFRunLoopSource > CFRunLoopTimer > CFSocket > CFStringTokenizer > CFUserNotification > CFWriteStream > A 1.0 release will be released H1 2013 and will include any of the above > types that had to be delayed for one reason or another. > > Please feel free to comment on anything I touched on here. I just wanted to > get this e-mail out because recently it has felt that I will never finish. > At least this way I have a few set goals for the new year and beyond. > > I'd just like to reiterate what I think is the most important point: Tests. > I would really appreciate any tests that accurately reflect correct behavior. > > Thanks > Stef > _______________________________________________ > Discuss-gnustep mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnustep
_______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
