Revisions to the DIP Process

Posted on

At the AGM that was held prior to the Hackathon at DConf 2019 in London, I announced that I would be making revisions to the DIP progress aimed at shortening the length of time required to go from the Community¬† Review to a final verdict. I also, in response to Joseph Rushton Wakeling’s feedback about … Continue reading Revisions to the DIP Process

Read more...

Flexible Default Function Parameters via structs with Nullable Fields

Posted on

The problem Sometimes we need to combine an aggregate of a set of values with an aggregate of the corresponding set of default values to create a combined result. The result for each member is either the explicitly specified value or, where no value is specified, the default value. This is similar to default function … Continue reading Flexible Default Function Parameters via structs with Nullable Fields

Read more...

DStep 1.0.0

Posted on

DStep is a tool for automatically generating D bindings for C and Objective-C libraries. This is implemented by processing C or Objective-C header files and outputting D modules. DStep uses the Clang compiler as a library (libclang) to process the header files. Background The first version of DStep was released on the 7th of July, … Continue reading DStep 1.0.0

Read more...

Human Resources in the D Ecosystem (or Resources, Resources, Resources)

Posted on

There’s lots of work in the D ecosystem waiting for someone to complete it. This blog post introduces two initiatives, the Human Resource Share and the Human Resource Fund, aimed at making that happen!

Read more...

Project Highlight: DPP

Posted on

D was designed from the beginning to be ABI compatible with C. Translate the declarations from a C header file into a D module and you can link directly with the corresponding C library or object files. The same is true in the other direction as long as the functions in the D code are … Continue reading Project Highlight: DPP

Read more...

Memoization in the D Programming Language

Posted on

The D programming language provides advanced facilities for structuring programs logically, almost like Python or Ruby, but with high performance and the higher reliability of static typing and contract programming. In this article, I will describe how to use D templates and mixins for memoization, that is, to automatically remember a function (or property) result. … Continue reading Memoization in the D Programming Language

Read more...

Using const to Enforce Design Decisions

Posted on

The saying goes that the best code is no code. As soon as a project starts to grow, technical debt is introduced. When a team is forced to adapt to a new company guideline inconsistent with their previous vision, the debt results from a business decision. This could be tackled at the company level. Sometimes … Continue reading Using const to Enforce Design Decisions

Read more...

DConf 2019 London Programme

Posted on

The DConf 2019 schedule was published on March 17th. This year we’ve got a solid mix of first-time DConf speakers and veterans. If you haven’t visited the site in a while, you’ll surely notice that it’s been redesigned. The old version was not responsive and was quite annoying to manipulate on small screens. That has … Continue reading DConf 2019 London Programme

Read more...

Containerize Your D Server Application

Posted on

A container consists of an application packed together with all of its required dependencies. The container is run as an isolated process on Linux or Windows. The Docker tool has made the handling of containers very popular and is now the de-facto standard for deploying containers to a cloud environment. In this blog post I … Continue reading Containerize Your D Server Application

Read more...