View mode: basic / threaded / horizontal-split · Log in · Help
February 15, 2012
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
Re: dmd 1.073 and 2.058 release
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
1 2 3 4 5
Top | Discussion index | About this forum | D home