UFCS for struct opCall?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Apr 9 08:29:43 PDT 2013


On 4/9/13 10:35 AM, deadalnix wrote:
> On Tuesday, 9 April 2013 at 13:02:27 UTC, bearophile wrote:
>> deadalnix:
>>
>>> I don't think this makes any sense. Constructor are not regular
>>> function.
>>
>> From studying functional languages like Haskell I have learnt that
>> considering "constructors" like the other functions gives some
>> advantages. The uniformity of the idea of "function" is very useful.
>>
>
> Right now, in D, you'll find plenty of magic associated with
> constructors. This is fundamentaly problematic when you want to disguise
> them as functions.
>
> I would be in general for reducing the magic associated with constructor
> in order to allow them to behave like function, but right now, they are
> different beasts.

They are different than regular functions by necessity. A constructor 
must start on an raw object ("unprepared" in a sense) and bring it to a 
meaningful state. In the case of immutable and const objects, that 
grants the constructor special characteristics that are very unlike 
regular functions. So they are special.

Andrei



More information about the Digitalmars-d mailing list