(redirection from Phobos)
Phobos is the standard runtime library for the D Programming Language. Some parts of Phobos may not be documented. You can add proposed documentation here. Add longer sections as a subpage, such as /Phobos/StdCtype (which are automatically added to the list at the end of the page).
| Table of contents of this page | |
|
|
Suggested Extensions
As suggested on news.digitalmars.com to avoid duplicated efforts and to have better coordination we can use this section to announce who is doing what. This page should be view as an incubator and the projects should be removed once included in Phobos. Also, if you think your project doesn't belong to Phobos then it also doesn't belong to here
Proposed Enhancements
readf/unformat
- I changed this package to break it into std.stdio.readf and std.string.unformat...
- Nice! Is this version available online?
Not yet, have to clean it up and backport it back into the DMD release again...
(currently it's done to a tweaked GDC, you see) And it *really* wants TypeInfo??
Main reason was to get opinions on:
- changed getc delegate definitions
- throwing on exceptions on errors
Also, I still need to write the multibyte wrappers of getc/ungetc for file based streams (regular, as well as the wide orientation kind)
NG:digitalmars.D/19895
However, the module definition and function signatures are done:
| module std.unformat;
void unFormat(dchar delegate() getc, dchar delegate(dchar) ungetc,
TypeInfo[] arguments, va_list argptr);
module std.stdio;
private void readx(FILE* fp, TypeInfo[] arguments, va_list argptr);
void readf( ... );
void freadf(FILE* fp, ...);
module std.string;
void unformat(char[] s, ...); |
|
|
write/writeln
These are the same as writef/writefln, but without special '%' strings.
(i.e. percent is treated like a character, and not a format specifier)
| module std.stdio;
void write(...);
void writeln(...);
void fwrite(FILE* fp, ...);
void fwriteln(FILE* fp, ...); |
|
|
Usage:
| writef("%s", string);
write(string); |
|
|
It's extra handy if you are used to System.out.println from Java,
and find those "%s" format specifiers to be scary late at night.
read/fread
This is the same as write/fwrite, but for readf instead of writef.
(just for consistency, since readf handles both "methods" natively)
linux/Unix
The portable version of version(linux) is called: version(Unix)
And the std.c.linux.linux import module is found in std.c.unix.unix
("linux" is only one of half-a-dozen possibilities for the Posix APIs)
Currently, "Unix" works in GDC - but regular DMD only knows of "linux".
This can be worked around with a block like:
version(linux) { version = Unix; }
Operating Systems Modules
Wouldn't it make sense to have common OS routines bundled in a std.posix library?
Only those routines that differ among OS's would be in std.windows, std.solaris, etc. then.
std.c.windows
See std.c.windows
std.c.windows.registry
See std.c.windows.registry
carbon ("std.c.macintosh")
See DsourceProject:carbonheaders
std.random
At
http://www.digitalmars.com/d/1.0/phobos/std_random.html - should specify the range of rand(). Of course, the function is on it's way out, but still....
Messages
Add your messages here...
Printable Documentation
Can someone please include a reference to "print.css" in the phobos docs (D1.0 as well) to get rid of the margins, as the language reference does?
Minimum Runtime Library
I have an operating system kernel coming along, and I wonder what the minimum RTL required by D is. Could somebody point me to a description of a bare-bones Phobos library suitable for running on bare metal? If it looks nice, I might learn D to convert my kernel from Object Pascal. -- EliGottlieb? November 30, 2006, 10:37 EST
Runtime Support for In-Kernel Garbage Collection
I want to write an operating system with in-kernel garbage collection an error catching. What runtime support would be needed to do it in D? Which parts of phobos would need porting? -- JonasZaddach?, May 05, 2005
- Atleast internal/gc and internal/deh2. A look at http://dkernel.kuehne.cn/dkernel-current.zip might help. -- ThomasKuehne?
Related
Modules (Subpages)
| 69 pages: | date of last change |
DocComments/Phobos/StdProcess | June 13, 2013 8:11
|
DocComments/Phobos/StdStdio | October 9, 2012 0:31
|
DocComments/Phobos/StdXml | May 19, 2012 2:12
|
DocComments/Phobos/StdOutbuffer | March 7, 2012 20:25
|
DocComments/Phobos/StdAlgorithm | October 29, 2010 3:15
|
DocComments/Phobos/StdFile | September 12, 2010 12:48
|
DocComments/Phobos/StdNumeric | September 7, 2010 11:15
|
DocComments/Phobos/StdMd5 | September 7, 2010 10:44
|
DocComments/Phobos/StdGetopt | September 20, 2008 17:03
|
DocComments/Phobos/StdThread | August 27, 2008 10:21
|
DocComments/Phobos/StdDate | August 20, 2008 8:43
|
DocComments/Phobos/Object | August 15, 2008 3:45
|
DocComments/Phobos/StdHiddenfunc | March 28, 2008 14:03
|
DocComments/Phobos/StdFormat | March 17, 2008 15:05
|
DocComments/Phobos/StdComplex | February 20, 2008 18:00
|
DocComments/Phobos/StdIterator | February 20, 2008 17:48
|
DocComments/Phobos/StdSlist | February 20, 2008 17:46
|
DocComments/Phobos/StdMath | November 30, 2007 21:43
|
DocComments/Phobos/StdSystem | November 30, 2007 21:40
|
DocComments/Phobos/StdTraits | November 30, 2007 21:33
|
DocComments/Phobos/StdVariant | November 30, 2007 21:30
|
DocComments/Phobos/StdString | November 30, 2007 21:28
|
DocComments/Phobos/StdContracts | November 30, 2007 21:23
|
DocComments/Phobos/StdBitarray | November 30, 2007 17:30
|
DocComments/Phobos/StdRandom | November 29, 2007 20:07
|
DocComments/Phobos/StdWindowsCharset | November 29, 2007 19:11
|
DocComments/Phobos/StdFunctional | November 29, 2007 19:07
|
DocComments/Phobos/StdUri | November 29, 2007 19:05
|
DocComments/Phobos/StdUni | November 29, 2007 19:02
|
DocComments/Phobos/StdTypeTuple | November 29, 2007 18:56
|
DocComments/Phobos/StdBind | November 29, 2007 16:21
|
DocComments/Phobos/StdCpuid | November 29, 2007 16:10
|
DocComments/Phobos/StdCtype | November 29, 2007 16:06
|
DocComments/Phobos/StdCover | November 29, 2007 16:02
|
DocComments/Phobos/StdDemangle | November 29, 2007 15:55
|
DocComments/Phobos/StdCompiler | November 29, 2007 15:44
|
DocComments/Phobos/StdConv | November 2, 2007 16:51
|
DocComments/Phobos/StdPath | October 16, 2007 22:53
|
DocComments/Phobos/StdBoxer | October 16, 2007 22:11
|
DocComments/Phobos/StdCWindows | September 6, 2007 16:49
|
DocComments/Phobos/StdStream | May 1, 2007 19:30
|
DocComments/Phobos/StdCLocale | March 30, 2007 22:06
|
DocComments/Phobos/StdCString | March 20, 2007 15:27
|
DocComments/Phobos/StdCWchar | March 20, 2007 14:20
|
DocComments/Phobos/StdCTime | March 20, 2007 14:20
|
DocComments/Phobos/StdCStdlib | March 20, 2007 14:18
|
DocComments/Phobos/StdCStdio | March 20, 2007 14:17
|
DocComments/Phobos/StdCStddef | March 20, 2007 14:17
|
DocComments/Phobos/StdCStdarg | March 20, 2007 14:16
|
DocComments/Phobos/StdCProcess | March 20, 2007 14:16
|
DocComments/Phobos/StdCMath | March 20, 2007 14:15
|
DocComments/Phobos/StdCFenv | March 20, 2007 14:14
|
DocComments/Phobos/StdCWindowsRegistry | February 14, 2007 7:29
|
DocComments/Phobos/StdMetastrings | February 7, 2007 6:39
|
DocComments/Phobos/StdRegexp | January 22, 2007 22:53
|
DocComments/Phobos/StdRecls | January 22, 2007 18:57
|
DocComments/Phobos/StdZlib | January 22, 2007 18:56
|
DocComments/Phobos/StdZip | January 22, 2007 18:54
|
DocComments/Phobos/StdSignals | January 22, 2007 18:48
|
DocComments/Phobos/StdGc | January 18, 2007 23:12
|
DocComments/Phobos/StdOpenrj | November 15, 2006 1:30
|
DocComments/Phobos/StdUtf | May 8, 2006 20:55
|
DocComments/Phobos/StdBase64 | March 14, 2006 17:58
|
DocComments/Phobos/StdCstream | January 6, 2006 8:55
|
DocComments/Phobos/StdStdint | January 6, 2006 8:53
|
DocComments/Phobos/StdSocketstream | January 6, 2006 8:52
|
DocComments/Phobos/StdSocket | January 6, 2006 8:52
|
DocComments/Phobos/StdMmfile | December 29, 2005 19:57
|
DocComments/Phobos/StdIntrinsic | December 29, 2005 19:54
|
|
|