Language Specification /
Original
Difference (last change) (no other diffs, normal page display)
Changed: 1c1
Original chapters of the ![]() |
Original chapters of the ![]() |
Changed: 5,7c5,7
* ![]() * ![]() * ![]() |
* ![]() * ![]() * ![]() |
Changed: 9c9
* ![]() |
* ![]() |
Changed: 11,14c11,14
* ![]() ** ![]() ![]() * ![]() * ![]() |
* ![]() ** ![]() ![]() * ![]() * ![]() |
Changed: 17,32c17,32
* ![]() ** ![]() ![]() * ![]() ** this, super, null, true, false, ![]() ![]() * ![]() ** ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() * ![]() ** Prefix and Postfix Declarations, ![]() ** Array properties: .size, ![]() ![]() ![]() ![]() ** ![]() * ![]() * ![]() ** fields, super class, ![]() ![]() ![]() ![]() ![]() ![]() * ![]() ** ![]() ![]() ![]() ![]() ![]() * ![]() |
* ![]() ** ![]() ![]() * ![]() ** this, super, null, true, false, ![]() ![]() * ![]() ** ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() * ![]() ** Prefix and Postfix Declarations, ![]() ** Array properties: .size, ![]() ![]() ![]() ![]() ** ![]() * ![]() * ![]() ** fields, super class, ![]() ![]() ![]() ![]() ![]() ![]() * ![]() ** ![]() ![]() ![]() ![]() ![]() * ![]() |
Changed: 34,36c34,36
* ![]() * ![]() * ![]() |
* ![]() * ![]() * ![]() |
Changed: 38,42c38,42
Changed: 45c45
* ![]() |
* ![]() |
Changed: 47,62c47,62
* ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * [Example: ![]() * ![]() * ![]() * ![]() * ![]() * Forum, ![]() * ![]() |
* ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * [Example: ![]() * ![]() * ![]() * ![]() * ![]() * Forum, ![]() * ![]() |
Changed: 65,72c65,71
* ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() |
* ![]() * ![]() * ![]() * ![]() * ![]() * ![]() * ![]() |
Original chapters of the

You can take these links and create your own ordering you find intuitive.
Introduction
Overview
Lexical
- Compilation phases, Source File encodings, Literals, Keywords, Tokens, Pragmas
Modules
- Imports, Static Construction and Destruction
Declarations
Types
Properties
- Integral Types: .init .size .max .min .sign (?)
- Floating Point Types: .init .size .max .min .sign / .nan .isnan .infinity .isinfinity .isnormal .digits .epsilon .mantissa .maxExp
Attributes
extern, deprecated, private, protected, public, export, static, final, override, abstract, const,
auto
Expressions
Statements
Labeled Statements,
Blocks,
if,
debug & version,
while,
do,
for,
switch/default,
continue,
break,
return,
goto,
with,
synchronize,
try/catch/finally,
throw,
volatile,
asm
Arrays
- Prefix and Postfix Declarations,
Slicing, Array operations
- Array properties: .size,
.length, .dup, .sort, .reverse,
Bounds Checking,
Arrays of Bits,
Strings
Associative Arrays properties: .size, .length, .keys, .values, .rehash
Structs, Unions, Enums
Classes
- fields, super class,
constructors, destructors, invariant,
unittest, Class
Allocators and
Deallocators,
Auto Classes,
Interfaces
Functions
Covariant,
Overloading,
Parameters (in, out, inout),
Nested Functions,
Delegates, Function Pointers, Dynamic Closures
Operator Overloading
- opfunc: opNeg, opCom, opPostInc, opPostDec; opAdd, opSub, opMul, opDiv, opMod, opAnd, opOr, opXor, opShl, opShr, opUShr, opCat, opEquals, opCmp, opAddAssign, opSubAssign, opMulAssign, opDivAssign, opModAssign, opAndAssign, opOrAssign, opXorAssign, opShlAssign, opUshAssign, opCatAssign, opCall, opIndex, opSlice
Templates
Contracts
Versioning
- Predefined Versions: DigitalMars, X86, Win32, linux, LittleEndian, BigEndian, D_InlineAsm, none
Handling errors
Garbage Collection
Memory Management
Copy On Write,
Real Time (considerations),
Free Lists,
reference counting,
Explicit Class Instance Allocation,
Mark/Release,
RAII,
Allocating Class Instances On The Stack
Floating Point
- Complex and Imaginary types, (e.g. 4.5 + 2i),
- Complex number properties: .re, .im
Inline Assembler
- align, even, naked, Opcodes, $, __LOCAL_SIZE
Interfacing To C
Portability Guide
Embedding D in HTML
Memory Model
Phobos (Runtime Library)
D for Win32
C .h to D Modules
FAQ
Style Guide
- [Example:
DigitalMars:d/wc.html wc]: classic word count program
D Compiler
Future
D Change Log (download, revisions)
D Links
- Forum,
digitalmars.D newsgroup
Acknowledgements
D vs C/C++/C#/Java
Converting C to D
Converting C++ to D
The C Preprocessor vs D
D strings vs C++ std::string
D complex vs C++ std::complex
D Design by Contract vs C++