== Quote from Walter Bright ([email protected])'s article ... > Let's take an example, like the enum for O_XXXX in std.c.linux.linux. > Some of those values are common between platforms, and some are unique > to particular platforms. So you might be tempted to write: [snip] > The first version is definitely shorter. But is it easier to maintain? I > argue that it is *harder* and *buggier* to maintain.
This is definitely true of header modules. There's absolutely no way I could manage the Posix headers in Tango/druntime with the non-duplicating approach. > This would be even better if the OSX and linux declarations were split > into separate "personality" modules. That way you can develop happily on > OSX without fear of accidentally breaking linux support. You can defer > dealing with the linux version until you actually on the linux machine > and are in an efficient position to take care of it. With version blocks, working with one version shouldn't break another version anyway, unless I'm misunderstanding your point. Sean
