I said in an earlier e-mail that I think std.file, std.path, and std.stdio should remain separate modules. However, I do think that, for a library with a flat module hierarchy, Phobos has acquired way too many modules. Some of them should (and will) be removed, and some could be merged.
The following are my suggestions for how to trim the Phobos module list a bit. At the bottom I'll show the resulting module list. Modules which could be removed, most of them *right now*, because they are superseded by other modules or built-in functionality: std.bind - use lambdas or nested functions instead std.boxer - superseded by std.variant std.contracts - superseded by std.exception std.cstream - superseded by std.stdio.File std.demangle - superseded by core.demangle std.iterator - superseded by std.range std.openrj - obscure format, better to use std.json std.perf - superseded by StopWatch std.regexp - superseded by std.regex std.stream - ranges are the way to go std.syserror - superseded by std.windows.syserror std.c.* - superseded by core.stdc.* and core.sys.* Modules for which there is no documentation on the D home page, and which I suspect nobody are using: std.loader std.stdarg std.typelist Modules which can be merged into a single one, possibly after substantial/complete rewrites: std.compiler + std.cpuid + std.system (= std.sysinfo?) std.ctype + std.uni (= std.character?) std.date + std.dateparse + std.gregorian + std.stopwatch (= std.datetime?) std.encoding + std.utf (= std.encoding?) std.socket + std.socketstream (= std.socket (or std.net?)) std.typecons + std.typetuple (= std.types?) And finally, some renaming suggestions (which were actually posed by Andrei): std.conv -> std.convert std.stdio -> std.io All this gives us the following, nice and short (well... shorter, at least) module list: std.algorithm std.array std.base64 std.bigint std.bitmanip std.character std.complex std.concurrency std.container std.convert std.datetime std.encoding std.exception std.file std.format std.functional std.getopt std.intrinsic std.io std.json std.math std.md5 std.metastrings std.mmfile std.numeric std.outbuffer std.path std.process std.random std.range std.regex std.signals std.socket std.stdint std.string std.sysinfo std.traits std.types std.variant std.xml std.zip std.linux std.windows Just something to think about. -Lars _______________________________________________ phobos mailing list phobos@puremagic.com http://lists.puremagic.com/mailman/listinfo/phobos