Why does `filterBidirectional` exist, and why isn't it called `filter`?

Timon Gehr timon.gehr at gmx.ch
Sat Mar 11 19:52:06 UTC 2023


On 3/10/23 23:47, Paul Backus wrote:
> On Friday, 10 March 2023 at 13:46:03 UTC, Ogi wrote:
>> On Thursday, 9 March 2023 at 17:07:40 UTC, Paul Backus wrote:
>>>
>>> I think probably you have to go on a case-by-case basis. 
>>> `File.byLine`, for example, does not and should not precompute 
>>> `front`, because doing so is potentially very expensive.
>>
>> And then ‘File.byLine’ ends up being const and now you can’t call 
>> ‘front’ on it. Ouch.
> 
> Ranges already don't work with `const`, so the fact that this one fails 
> to work with `const` a little more than usual is not a huge deal, IMO.

`const` tends to just not work really well together with abstraction.
"`const` correctness" in D is a fool's errand.


More information about the Digitalmars-d mailing list