Introduction to programming with compile time sequences in D

data pulverizer data.pulverizer at gmail.com
Fri Aug 28 10:57:41 UTC 2020


On Thursday, 27 August 2020 at 20:56:43 UTC, Twilight wrote:
> On Tuesday, 25 August 2020 at 02:11:42 UTC, data pulverizer 
> wrote:
>> I have a draft new blog article "Introduction to programming 
>> with compile time sequences in D", it's on Github and I would 
>> appreciate feedback before it goes live 
>> https://gist.github.com/dataPulverizer/67193772c52e7bd0a16414cb01ae4250
>>
>> Comment welcome.
>>
>> Many thanks
>
> Not being a Dlang expert, I probably qualify as the intended 
> target audience for this article and having absorbed your 
> previous article so readily, I thought I would try to expound a 
> little where I stumbled with this article.
>
> I was clipping along until I reached the "Replacing a single 
> item by index" section. Having mentioned earlier that AliasSeq 
> was defined in std.meta, I thought this section started out by 
> saying that this was the implementation of the Replace 
> meta-function in the internals of std.meta, and consequently, 
> because it is marked as private (to the std.meta module), I can 
> not use this function (confusingly). As you can see, the 
> wording took me down a path you did not intend. When I reached 
> the bottom of this section, it was helpful to see the intended 
> call with 3 arguments. The earlier 4 arguments was puzzling. I 
> now think that the "internal" implementation was meant to 
> convey the role that "ReplaceImpl" would if this were C++ 
> templates (with the extra argument used to count to the match). 
> Anyway, this particular section seems to be better digested for 
> me from the bottom upwards, i.e., starting with an example of 
> its use.
>
> Also, the Join function might be better placed in the previous 
> section.
>
> Do consider that I may just be a little off in my reading 
> comprehension today so please weigh my thoughts accordingly. I 
> have greatly appreciated the recent articles by you and others. 
> Thanks authors!

Thanks for your feedback, when I look at my introduction I 
clearly mention the `text` function that I imported from 
`std.conv` but not `AliasSeq`, and `Nothing` that I implemented 
from `std.meta`, I have now put these in the introduction along 
with `text` which should make things clearer.


More information about the Digitalmars-d-announce mailing list