February 15, 2012 Re: dmd 1.073 and 2.058 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timon Gehr | 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 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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
|
Copyright © 1999-2021 by the D Language Foundation