February 15, 2012
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

Great! Keep up good work!

One note thought: I see that there are some new features borrowed from 2.057 log. Is this on purpose or an oversight?
February 15, 2012
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?

Ultimate Fighting Championship of Syntaxes <g>
February 15, 2012
Andrej Mitrovic:

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

I don't know. See: https://github.com/D-Programming-Language/dmd/pull/582

Bye,
bearophile
February 15, 2012
On 15/02/2012 04: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

The following no longer works and is not listed in the changelog:

----
void foo(T...)(T)
{
}

void main()
{
    foo((string, string a){
        // Do something
    });
}
----
It now gives:
----
test.d(1): Error: cannot have parameter of type void
test.d(1): Error: variable test.foo!(void).foo._param_0 voids have no value
test.d(7): Error: template instance test.foo!(void) error instantiating
test.d(7): Error: template test.foo(T...) cannot deduce template function from argument types !()(void)
----

I assume that this is intentional from my following of dmd commits, the breaking change should be listed though.

-- 
Robert
http://octarineparrot.com/
February 15, 2012
More @Andrei Does anyone keep an updated version of "The D Programming Language" as changes are made?  I don't know what your publishing agreement was like but could you keep the text of the book in say github.


On Feb 14, 2012, at 11:47 PM, 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

February 15, 2012
On 02/15/2012 07:49 AM, bearophile wrote:
> Andrej Mitrovic:
>
>> That doesn't seem to work. So does anyone know what exactly is implemented?
>
> I don't know. See:
> https://github.com/D-Programming-Language/dmd/pull/582
>
> Bye,
> bearophile

Is UFCS DOA? Here is my experiment:

struct S
{}

@property int foo(S)
{
    return 42;
}

void main()
{
    auto s = S();
    s.foo();       // Error: no property 'foo' for type 'S'
}

Ali
February 15, 2012
On 02/15/2012 01:45 PM, Andrej Mitrovic wrote:
> 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?

Apparently the only thing that is implemented is that float literals now require [0-9] after the decimal point. That means 1.f and 1.Li will be tokenized as [1][.][f] and [1][.][Li].
February 16, 2012
On Wednesday, February 15, 2012 23:52:54 Timon Gehr wrote:
> On 02/15/2012 01:45 PM, Andrej Mitrovic wrote:
> > 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?
> 
> Apparently the only thing that is implemented is that float literals now require [0-9] after the decimal point. That means 1.f and 1.Li will be tokenized as [1][.][f] and [1][.][Li].

Then it sounds like the changelog is in error (though the floating point literal thing is a very good change in its own right).

- Jonathan M Davis
February 16, 2012
On Wed, Feb 15, 2012 at 2:26 AM, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
> 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


float x = 1.f;  // GIVES ERROR

float y = 0.f;  // OK

what's up with that?  Is that a bug?
February 16, 2012
On 2/15/12 5:47 AM, 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

Awesome! And dat changelog! Fantastic work!

I get the feeling with this release D is taking a new direction?! I like it! This is also one of the few D2 releases where my modest pile of existing code just continues to work. Like, I don't know what to do now, just continue to code? like nothing happened?! Teh humanity! :)

Labambda!
thanks
/krbrn