Difference between revisions of "User:Quickfur"

From D Wiki
Jump to: navigation, search
(Miscellaneous links)
(Miscellaneous links)
 
(8 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
Here are some D-related stuff that I'm involved with.
 
Here are some D-related stuff that I'm involved with.
 +
 +
===Articles===
 +
 +
Here are some draft articles that I'm working on:
 +
 +
* [[Component programming with ranges]] (done)
 +
* [[User:Quickfur/Compile-time vs. compile-time]]
  
 
===Transient ranges===
 
===Transient ranges===
Line 11: Line 18:
 
Issues with transient ranges and the bugs in Phobos related to it. Transient ranges are those whose .front value is invalidated after calling popFront(). Several algorithms in Phobos do not work correctly when passed this kind of range. It's still under discussion whether transient ranges are valid, and what should be done about them.
 
Issues with transient ranges and the bugs in Phobos related to it. Transient ranges are those whose .front value is invalidated after calling popFront(). Several algorithms in Phobos do not work correctly when passed this kind of range. It's still under discussion whether transient ranges are valid, and what should be done about them.
  
Currently I have an [https://github.com/D-Programming-Language/phobos/pull/987 open pull request] for fixing std.algorithm.joiner to work properly with transient ranges.
+
The [https://github.com/D-Programming-Language/phobos/pull/987 pull request] for fixing std.algorithm.joiner to work properly with transient ranges has been merged.
  
 
===Additions to std.algorithm===
 
===Additions to std.algorithm===
Line 17: Line 24:
 
====Cartesian Product====
 
====Cartesian Product====
  
Implementation of [https://github.com/D-Programming-Language/phobos/pull/856 std.algorithm.cartesianProduct]. Currently stuck in limbo due to a [http://d.puremagic.com/issues/show_bug.cgi?id=8542 compiler template cross-talk bug].
+
Implementation of [https://github.com/D-Programming-Language/phobos/pull/856 std.algorithm.cartesianProduct]. Merged.
  
 
====Next Permutation====
 
====Next Permutation====
  
Implementation of std.algorithm.nextPermutation, and perhaps nextEvenPermutation. I have some working code that I'm using for my own projects; but it needs some work to bring it up to Phobos quality.
+
Implementation of std.algorithm.nextPermutation and nextEvenPermutation. Merged.
  
 
===New AA implementation===
 
===New AA implementation===
Line 31: Line 38:
 
Probably only useful to me, but you may find them helpful.
 
Probably only useful to me, but you may find them helpful.
  
 +
* [[Guidelines for maintainers]]
 
* [[Special:AllPages/template:!|List of all templates]]
 
* [[Special:AllPages/template:!|List of all templates]]
 +
* [[Special:AllPages/talk:!|List of all talk pages]]
 
* [[Proposed new D development process]]; [[Release Process]]
 
* [[Proposed new D development process]]; [[Release Process]]
 +
 +
Works in progress:
 +
* [[/DIP scope|DIP scope]]

Latest revision as of 17:51, 6 April 2017

Who am I?

I'm just another programmer who grew up with C and C++, got sick of their design flaws, wasn't quite satisfied with the whole VM trend (Java and its ilk), and finally found D, the closest language to my ideals.

What do I do?

Here are some D-related stuff that I'm involved with.

Articles

Here are some draft articles that I'm working on:

Transient ranges

Issues with transient ranges and the bugs in Phobos related to it. Transient ranges are those whose .front value is invalidated after calling popFront(). Several algorithms in Phobos do not work correctly when passed this kind of range. It's still under discussion whether transient ranges are valid, and what should be done about them.

The pull request for fixing std.algorithm.joiner to work properly with transient ranges has been merged.

Additions to std.algorithm

Cartesian Product

Implementation of std.algorithm.cartesianProduct. Merged.

Next Permutation

Implementation of std.algorithm.nextPermutation and nextEvenPermutation. Merged.

New AA implementation

The goal is to replace the current AA implementation with an in-library solution in order to fix some fundamental problems that causes quite a number of existing AA-related bugs. Currently roadblocked due to various issues. The code is available on github.

Miscellaneous links

Probably only useful to me, but you may find them helpful.

Works in progress: