Language Specification /
Original
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++