Last update March 28, 2005

Standard Library /
Layout



This is the current official layout, first published by Walter in NewsDmD, Oct 29, 2003: http://www.digitalmars.com/d/archives/18684.html

std
Contains the 'standard' modules that will be available on all implementations of D. Emphasis in this package will be on reliability, stability, and portability. std as a name has the advantage of being used in C++ to specify the standard library, and so is familiar and highly unlikely to conflict with common variable names.

std.c
Contains D interfaces to standard C library functions, like std.c.stdio, std.c.stdlib, std.c.math.

std.os
Access to platform specific functionality.

std.os.windows
Specific to win32 and win64 operating systems. (win64 is coming, so calling it 'win32' would be a mistake.) The excellent point was raised about operating system specific code not being in the std tree as it evolves constantly. I understand that point, but operating systems evolve by adding API's, not subtracting them. So any windows package should continue to work as long as there's a windows operating system.

std.os.linux
Specific to linux operating systems. (StdOsLinuxComments)

std.typeinfo
Where the various TypeInfo? implementations go.

internal
Internal magic implementation-specific runtime support code.

etc
There are lots of 'other' modules for D, and right now there is no organized way to deal with them. There needs to be a place for them. The etc heirarchy will mirror the standard one, i.e. there will be etc.c, etc.os.windows, ... These will not be official parts of D nor will they be standardized. However, candidates for standardization will be drawn from etc. etc is the place for not-quite-there-yet-but-still-useful modules.

These names have the advantage of being reasonably greppable.

Major packages, such as a D gui, will merit their own toplevel name. Vendor specific modules will use a toplevel name being the trademarked vendor name. For example, vendor BrandX? would put their vendor specific packages under the toplevel name brandx.


Discussion

std.os.windows and std.os.linux were then moved to std.windows and std.linux, it seems...

http://www.digitalmars.com/d/phobos.html


FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Edit text of this page (date of last change: March 28, 2005 23:48 (diff))