> On Oct 5, 2016, at 8:55 PM, Xiaodi Wu <[email protected]> wrote: > > See, I'd assumed that the "unified" Darwin/Glibc would simply be what you > call Platform. And if we're going to have that overlay, what's the point of > also renaming Darwin/Glibc to CPlatform, given that it's going to be > different between platforms, and given that what's not going to be in the > Platform overlay is much more likely to be the divergent bits?
The difference I imagine between `Platform` and `CPlatform` is that `Platform` would do things like: * Convert `errno`-setting functions to throwing functions. * Convert many returns by pointer parameter into tuple returns. * Encapsulate certain structures, like `FILE` and `sockaddr`, which are really awkward to use in Swift. * Organize free-floating constants into enums. * Possibly move some operations from free functions to methods. Whereas `CPlatform` would be basically a straight import of the C libraries, warts and all. I don't actually imagine that `Platform` would do much platform abstraction except in trivial cases, like the ones currently in stdlib/public/Platform/Misc.c. -- Brent Royal-Gordon Architechies _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
