February 15, 2012
On reddit:

http://www.reddit.com/r/programming/comments/pqft5/d_reference_compiler_2058_is_out_15_new_features/
February 15, 2012
>
> On Tuesday, February 14, 2012 20:47:27 Walter Bright wrote:
>


> * Allow 1.userproperty syntax


Where is this odd-sounding beast documented?

And what is UFCS?

--bb


February 15, 2012
On 2012-02-15 05:47, Walter Bright wrote:
> Anyone care to count up the number of bug fixes here?
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.073.zip
>
> http://www.digitalmars.com/d/2.0/changelog.html
> https://github.com/downloads/D-Programming-Language/dmd/dmd.2.058.zip

That's a huge amount of bug fixes. You guys have outdone yourself again, impressive.

-- 
/Jacob Carlborg
February 15, 2012
On 2012-02-15 08:38, Bill Baxter wrote:
>     On Tuesday, February 14, 2012 20:47:27 Walter Bright wrote:
>
>     * Allow 1.userproperty syntax
>
>
> Where is this odd-sounding beast documented?
>
> And what is UFCS?
>
> --bb
>

Uniform Function Call Syntax. Which basically means you can call free functions as they were methods.

void foo (int a, int b);

foo(1, 2);

1.foo(2);

-- 
/Jacob Carlborg
February 15, 2012
On Tuesday, February 14, 2012 23:38:33 Bill Baxter wrote:
> > On Tuesday, February 14, 2012 20:47:27 Walter Bright wrote: * Allow 1.userproperty syntax
> 
> Where is this odd-sounding beast documented?
> 
> And what is UFCS?

Universal Function Call Syntax. The idea is that any function can be called as if it were a member function. The member function call syntax that arrays have is a version of this but isn't general/universal, whereas _universal_ function call syntax would apply to all types. So, stuff like 1.abs() and 5.max(3) become legal. It also means that you can declare functions which take a class or struct as their first parameter and call them as if they were member functions of that class/struct.

But it can introduce ambiguities - especially when dealing with structs or classes which can have member functions of their own. So, there's been some debate as to how it should be implemented - or even _if_ it should be implemented, though the basic idea is fairly popular.

>From the sound of it, at least property functions with integers can now be
used with UFCS, since at least that level of UFCS is required to declare properties for built-in types.

@property auto prop(int value) { ... }
auto value = 7.prop;

But that's just a guess, asthe changelog obviously isn't very descriptive. So, I have no idea what exactly has been implemented for that one line in the changelog - hence my question.

- Jonathan M Davis
February 15, 2012
On 2012-02-15 05:47, Walter Bright wrote:
> Anyone care to count up the number of bug fixes here?
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.073.zip
>
> http://www.digitalmars.com/d/2.0/changelog.html
> https://github.com/downloads/D-Programming-Language/dmd/dmd.2.058.zip

Unfortunately my serialization library Orange doesn't completely work with 2.058. I've already posted about this to the beta mailing list.

-- 
/Jacob Carlborg
February 15, 2012
Le 15/02/2012 09:11, Jacob Carlborg a écrit :
> On 2012-02-15 08:38, Bill Baxter wrote:
>> On Tuesday, February 14, 2012 20:47:27 Walter Bright wrote:
>>
>> * Allow 1.userproperty syntax
>>
>>
>> Where is this odd-sounding beast documented?
>>
>> And what is UFCS?
>>
>> --bb
>>
>
> Uniform Function Call Syntax. Which basically means you can call free
> functions as they were methods.
>
> void foo (int a, int b);
>
> foo(1, 2);
>
> 1.foo(2);
>

Finally it is in D ! Great ! Awesome !
February 15, 2012
Walter Bright, el 14 de febrero a las 21:08 me escribiste:
> On 2/14/2012 8:54 PM, Jonathan M Davis wrote:
> >On Tuesday, February 14, 2012 20:52:23 Jonathan M Davis wrote:
> >>On Tuesday, February 14, 2012 20:47:27 Walter Bright wrote:
> >>>Anyone care to count up the number of bug fixes here?
> >>>
> >>>http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.073.zip
> >>>
> >>>http://www.digitalmars.com/d/2.0/changelog.html https://github.com/downloads/D-Programming-Language/dmd/dmd.2.058.zip
> >>
> >>You forgot to merge in the changelogs for druntime and Phobos.
> >
> >And the first bug listed as fixed - 314 - was reopened.
> 
> That was removed from the changelog, it's just that the dlang.org hasn't been synced yet.

D1 changelog have it too.

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
All fathers are intimidating. They're intimidating because they are
fathers.  Once a man has children, for the rest of his life, his
attitude is, "To hell with the world, I can make my own people. I'll eat
whatever I want. I'll wear whatever I want, and I'll create whoever
I want."
	-- Jerry Seinfeld
February 15, 2012
Le 15/02/2012 05:47, Walter Bright a écrit :
> Anyone care to count up the number of bug fixes here?
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.073.zip
>
> http://www.digitalmars.com/d/2.0/changelog.html
> https://github.com/downloads/D-Programming-Language/dmd/dmd.2.058.zip

I quite disapointed to see array.sort fixed instead of deprecated.

This method is inferior to std.algorithm.sort, and most of its drawbacks are not fixable. Plus, sorting doesn't belong to the runtime IMO.

Great job by the way !
February 15, 2012
On 2/15/12, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
> @property auto prop(int value) { ... }
> auto value = 7.prop;
>
> So,
> I have no idea what exactly has been implemented for that one line in the
> changelog - hence my question.

That doesn't seem to work. So does anyone know what exactly is implemented?