Head Const
Marc Schütz via Digitalmars-d
digitalmars-d at puremagic.com
Tue Feb 16 04:49:42 PST 2016
On Tuesday, 16 February 2016 at 11:27:56 UTC, Dicebot wrote:
> On 02/16/2016 12:48 AM, Walter Bright wrote:
>> rears its head again :-)
>>
>> Head Const is what C++ has for const, i.e. it is not
>> transitive, applies to one level only. D has transitive const.
>>
>> What head const will do for us:
>>
>> 1. make it easy to interface to C++ code that uses const, as
>> currently it is not very practical to do so, you have to
>> resort to pragma(mangle)
>>
>> 2. supports single assignment style of programming, even if
>> the data is otherwise mutable
>>
>> The downside is, of course, language complexity.
>
> Moderately skeptical here. Adding features to the language for
> the sake of C++ compatibility is good way to ensure C++
> compatibility will be its only domain of triumph. I'd expect
> more justification for users who don't care about C++ but want
> language which doesn't collapse under own weight.
`@mutable` OTOH would be a useful for both C++, reference
counting, caching, lazy initialization... But we need to find a
way to keep most of the existing guarantees, especially
concerning shareability.
More information about the Digitalmars-d
mailing list