HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
DigitalMars
Compiler
D2018–2025
DigitalMars / Compiler

Compiler

Discover this repository through its Hacker News conversations.

4Distinct people
17Mentions
0Explicit recommenders
337GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

  • dlang/dmd · linked in 2 of the same discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2018-05-22 21:45:47 UTC to 2025-11-03 00:47:14 UTC.

02462018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC615
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC404
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC303
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

17 sources
> I'm a big believer in technical continuity. So am I. D is designed to be an easy transition from C and C-With-Classes. For example, here is some code in C that was translated to D (it's part of the Digital Mars C++ compiler): C: https://github.com/DigitalMars/Compiler/blob/dmc-cxx/dm/src/... D: https://github.com/DigitalMars/Compiler/blob/master/dm/src/d... They look pretty much the same. The code generated is the same. In those repositories you can also see how I translated the C versions to D with plenty of examples. The biggest impediment is the C preprocessor. You wouldn't really want to carry that forward. After removing dependency on the C preprocessor, most of the work is global search/replacing things like `->` to `.`.
In Wuffs’ PNG image decoder
I don't remember how long it took me to do the spell checker challenge: https://github.com/dlang/dmd/blob/master/src/dmd/root/spelle... but I'm sure it was much longer than it took Peter. This checker is used by the D compiler to look for a misspelled identifier when a symbol lookup fails. The identifiers in scope form the dictionary. It works surprisingly well. I added it to the Digital Mars C++ compiler as well. https://github.com/DigitalMars/Compiler/blob/master/dm/src/d...
In The Myth of the Myth of the 10x Programmer
I started on the D front end in 1999. It was attached to the NorthwestC/Datalight/Zortech/Symantec/DigitalMars backend (for DMD), to gcc (for GDC) and to LLVM (for LDC). The backend was originally written for my C compiler, then my C++ compiler. The source code can be found here: https://github.com/DigitalMars/Compiler The editor I use is https://github.com/DigitalMars/med which is translated to D from the older C version https://github.com/DigitalMars/me I don't care for IDEs because they only work on one machine (I develop on several). ME works identically on all of them, and is easy to port. I keep thinking of transitioning to vim, but never get around to it. The text editor is not the gating factor to my productivity, anyway. Most of my coding sessions consist of simply staring at the code. What helps most is lots of windows open on a
Read the rest
BFM (Big Frackin Monitor). I want a wall sized monitor with a retina display.
In Writing Software to Last 50 Years
I did complain to the author, but the damage was done. Can't undo a magazine article. I didn't save a copy of the magazine I was so annoyed. BTW, it goes on. A couple years ago a kind soul gently suggested I implement DFA since clang had invented DFA. (No, I didn't invent DFA either, but I do believe that Datalight Optimum C was the first DFA compiler for DOS.) http://www.program-transformation.org/Transform/CCompilerHis... The Data Flow Analysis code: https://github.com/DigitalMars/Compiler/blob/master/dm/src/d...
In Why Const Doesn't Make C Code Faster
I forgot to add SROA to the list. DMD does a limited form of SROA I wrote as a proof of concept, it should be generalized. https://github.com/DigitalMars/Compiler/blob/master/dm/src/d... I've also written a loop unroller, but it can be improved: https://github.com/DigitalMars/Compiler/blob/master/dm/src/d... My evaluation was based on comparing the code gen output of the various compilers, not looking at how they were achieved. As for SSA, DMD's optimizer is based on an intermediate representation that is a binary tree. A binary tree is a form of SSA - each operator node is a value assigned once and never modified. > Respectfully No worries. I'm used to people telling me I can't do things :-)
In The internals of testing in Rust in 2018
Not really. The two main reasons LLVM and gcc do a better optimization job is they have a better function inliner and loop unroller. Neither are particularly computation intensive. DMD does all the usual data flow analysis optimizations - strength reduction, copy propagation, loop unrolling, dead store elimination, live range analysis, etc. https://github.com/DigitalMars/Compiler/blob/master/dm/src/d... The optimizer / code generator is the same one that Digital Mars C++ uses, which was developed in the 1980's (!). Up until 2000 or so, the code generated was about the same as gcc, though DMC++ ran several times faster. Since 2000, all my attention has been on the D front end, and so the optimizer wasn't getting the devoted attention it had earlier. Just recently I finished converting the DMD optimizer from C to D, and am doing the code ge
Read the rest
nerator. This should make the code much more tractable.
In The internals of testing in Rust in 2018

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.