GUI, Games, Science and Other Domains

46.1 GUI

GtkD / giD GTK 3/4 bindings (Tilix terminal uses GtkD) Cross-platform, pure-D widgets arsd.minigui / simpledisplay Lightweight, no dependencies dqml, qtd (older) bindbc-imgui, d_imgui

core.sys.windows, DFL (D Forms Library)

46.2 Games and Graphics

raylib-d, bindbc-sdl/bindbc-opengl/bindbc-glfw, Dagon (3D engine), inochi2d (2D puppet animation, written in D), dplug (VST/AU/LV2 audio plugins, used commercially by Auburn Sounds), HipremeEngine, gfm (math/graphics utilities), erupted (Vulkan bindings).

46.3 Scientific Computing and Data

Mir (libmir): mir-algorithm (ndslice: N-dimensional arrays, like NumPy), mir-random, mir-stat, mir-optim, mir-blas/lapack, mir-ion. Also lubeck (high-level linear algebra), numir, dstats, ggplotd (plotting), tsv-utils (eBay's fast data tools), and Jupyter via jupyterd.

import mir.ndslice;
auto matrix = iota(3, 4).slice;           // 3x4 ndslice
auto transposed = matrix.transposed;
auto col = matrix[0 .. $, 1];
writeln(matrix, "\n", transposed);

46.4 Other Domains

Compilers and tooling: libdparse, dmd as a library (dub package dmd), Pegged (PEG parser generator using CTFE).

Systems and storage: Weka's filesystem, Sociomantic ad tech (historical), Mecca (Weka's reactor library).

Scripting: rdmd scripts, dub --single, dlang-requests for automation.

WASM: LDC -mtriple=wasm32-unknown-unknown-wasm, spasm, wasm-d examples.