Owner

Current status

Detailed Description

D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. The D language is statically typed and compiles directly to machine code. It's multiparadigm, supporting many programming styles: imperative, object oriented, and metaprogramming. It's a member of the C syntax family, and its appearance is very similar to that of C++.

LDC is a compiler for the D programming Language. It is based on the latest DMD frontend and uses LLVM as backend. LLVM provides a fast and modern backend for high quality code generation.

The Library

Druntime is the minimum library required to support the D programming
language. It includes the system code required to support the garbage
collector, associative arrays, exception handling, array vector operations,
startup/shutdown, etc.

Phobos: Each module in Phobos conforms as much as possible to the following design goals. These are goals rather than requirements because D is not a religion, it's a programming language, and it recognizes that sometimes the goals are contradictory and counterproductive in certain situations, and programmers have jobs that need to get done.

Tango is a cross-platform open-source software library, written in the D programming language for D programmers. It is structured as a cohesive and comprehensive library for general purpose usage, and is supported by a growing number of recognized D enthusiasts.
Availability of solid and extensive documentation represents a prime factor in library accessibility, and thus this project is as much about documentation production as it is about top-notch functionality.

Benefit to Fedora

Fedora will take some benefit to increase its community of developers with the inclusion of this feature. And an easy way for people who want to try this language.

Scope

Required steps are:

LDC package

druntime package

phobos package

optiona: tango package

How To Test

Ensure that unnitest works

Collect feedback from volunteers regarding their experience with D programming

Contingency Plan

None necessary. We should fix existing packages in order to help the Community. We should also monitor upstream development process for potentially discovered issues and proactively apply patches.