📜 ⬆️ ⬇️

The digest of events from the world D

I bring to your attention a digest of interesting events from the world D.

There have been quite a few events lately.

Language news


1. A new release of the dmd compiler 2.067.
Among the main innovations are significant improvements in the speed of the GC. In some cases, the amount of memory consumed was reduced by half. Experimental support for the complete GC outage has appeared:
')
app "--DRT-gcopt=profile:1 minPoolSize:16" arguments to app 

Associative arrays can now be iterated using the byKeyValue method:

 void main() { auto aa = ["a": 1]; foreach (pair; aa.byKeyValue) { assert(pair.key == "a"); assert(pair.value == 1); } } 

The standard library has been extended with a logging module.

 import std.experimental.logger; void main() { log("message logging in D"); } 

A complete list of changes can be viewed in the changelog .

2. Significant progress has been made in the design of the Calypso project. Currently, Calypso is a fork of the LDC compiler, which allows you to directly use the C / C ++ libraries without the need to create special binding. In the coming days, the release of the first version of Calypso is expected, and in the future it is expected to merge with the main LDC branch.

3. Apparently, the current version of DMD (reference compiler D) will be the latest version written in C ++. A month ago, it was announced that the process of converting C ++ to D for the DDMD branch was almost completed and now DDMD passes all the tests.

4. Actively continues the development of the SDC compiler, which is an extremely lightweight and fast compiler D, written in pure D, which is able to work as a library. Currently, with a compiler size of 30K lines, the compiler implements more than 80% of the language features, the source code of which’s reference version (DMD) has more than 300K lines of code.

5. With the efforts of the ldc-iphone-dev project, some progress has been made in supporting ARM and the possibility of writing applications for iOS using D. However, while the project is in alpha status.

Interesting projects


1. As many have heard, D is actively used in the field of bioinformatics and other areas that require high performance and processing large amounts of data. Thus, the Sambamba genome data analysis system project published a report on its achievements. On the project page you can find the rationale for the choice of language and the impression of its use.

2. For D, a new graphic toolkit dlangui has appeared. You can read more about it in this article on Habré: “DlangUI - cross-platform GUI for D (Part 1)” .

3. Binding appeared for Ruby (MRuby), allowing embedding in Ruby D code.

4. A new version of PyD has been released , allowing not only to write extensions for Python using D, but also to embed Python code in D.

5. A new version of the web server vibe.d. vibe.d is an extremely lightweight web-server on D that allows you to create self-hosting sites and more.

6. A new version of the high-performance engine Higgs, also written in D has been released. For some tests, Higgs bypasses the fastest Google engine at the moment v8.

7. There was an analog utility for GO gofmt. Called dfmt .

8. A new version of the game engine for 2D games Dgame .

9. The binding for GTK and Tk graphic toolkits has been updated.

10. A new version of the autocompletion daemon and source code analyzer DCD has been released .

Source: https://habr.com/ru/post/256131/


All Articles