"R" suffix for reals
Arne
arne at linux.nu
Mon May 7 14:01:16 PDT 2012
On Monday, 7 May 2012 at 19:23:03 UTC, Walter Bright wrote:
> On 5/7/2012 12:07 PM, Steven Schveighoffer wrote:
>> However, I think these examples are misleading and do not
>> prove the point. It
>> shows IMO more that you are better off declaring the type on
>> the left if your
>> code depends on it always staying the same.
>>
>> i.e. this does not have that problem:
>>
>> real r = 1L;
>
> I tend to agree. If you're declaring things with 'auto', then
> you should not be relying on a specific type being inferred
> from the initializer - that would be poor style. Use of auto
> implies your code is more generic and adaptable to whatever
> type the initializer turns out to be.
>
> If your usage of r requires it to be a specific type, it should
> be declared as having that type.
Alright, I admit 'auto' is somewhat of a contrived example,
my main concern is with 'function overloading'/'template type
inference'/when creating 'compound/complex types'.
I think we have a general issue with concise definitions of
literals...
1. ambiguous suffixes
2. manu's __vector()
3. dynamic vs static array literals: auto[$] ?
any other similar issues?
What is the main reason we don't allow... something like:
sqrt(real(3));
... does it result in any parsing ambiguities?
I'm hoping for a consistent solution to all of the above
issues... be it... suffix or function style initializer... or
<insert any other idea>... as long as it solves all the above
'literal issues' in a consistent way...
Thanks for listening :)
Arne
More information about the Digitalmars-d
mailing list