Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
September 08, 2013 new DIP48: Interface specifications for aggregate types | ||||
---|---|---|---|---|
| ||||
In response to Walter's DIP47 I have created my own take on what I see as the main problem: http://wiki.dlang.org/DIP48 Destroy! -- Simen |
September 08, 2013 Re: new DIP48: Interface specifications for aggregate types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Simen Kjaeraas | On Sunday, 8 September 2013 at 18:13:52 UTC, Simen Kjaeraas wrote:
> In response to Walter's DIP47 I have created my own take on what I see as the main problem:
>
> http://wiki.dlang.org/DIP48
>
> Destroy!
I like it but would prefer
@interface instead of interface
Since using interface in this way, reminds me too much of nameless struct:s/union:s.
|
September 08, 2013 Re: new DIP48: Interface specifications for aggregate types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Simen Kjaeraas | On Sunday, 8 September 2013 at 18:13:52 UTC, Simen Kjaeraas wrote: > In response to Walter's DIP47 I have created my own take on what I see as the main problem: > > http://wiki.dlang.org/DIP48 > > Destroy! Personally I find this practice of creating a competing DIP to be very annoying. This was specifically outlined in the first DIP: http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP1 "A DIP should represent a problem the community wants to resolve and not just a specific resolution to a problem. This allows the DIP to be a central hub for any given problem. If a resolution is radically different from the current state of the DIP, an alternative DIP could be created as a sub page, e.g. under /DIPs/DIP1/Alternatives/Alt1?. The DIP should be created in its entirety such that it could replace the current DIP through simple copy and past." By creating separate DIPs and new forum posts, the discussion is segregated instead of being a progression to a solution. How is one to know that these two DIPs are to address the same problem: "Outline Member Functions of Aggregates" "Interface specifications for aggregate types" |
September 08, 2013 Re: new DIP48: Interface specifications for aggregate types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Simen Kjaeraas | I don't like DIP47, but I think I like this less. The original DIP this is competing against at least has some sense of familiarity. This is some weird new thing, and neither DIP really does anything meaningful. |
September 08, 2013 Re: new DIP48: Interface specifications for aggregate types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jesse Phillips | On 2013-09-08, 20:28, Jesse Phillips wrote: > On Sunday, 8 September 2013 at 18:13:52 UTC, Simen Kjaeraas wrote: >> In response to Walter's DIP47 I have created my own take on what I see as the main problem: >> >> http://wiki.dlang.org/DIP48 >> >> Destroy! > > Personally I find this practice of creating a competing DIP to be very annoying. This was specifically outlined in the first DIP: > > http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP1 > "A DIP should represent a problem the community wants to resolve and not just a specific resolution to a problem. This allows the DIP to be a central hub for any given problem. If a resolution is radically different from the current state of the DIP, an alternative DIP could be created as a sub page, e.g. under /DIPs/DIP1/Alternatives/Alt1?. The DIP should be created in its entirety such that it could replace the current DIP through simple copy and past." > > By creating separate DIPs and new forum posts, the discussion is segregated instead of being a progression to a solution. How is one to know that these two DIPs are to address the same problem: > > "Outline Member Functions of Aggregates" > "Interface specifications for aggregate types" Very good point, and perhaps we should be doing DIPs differently. Or perhaps the whole system is a bit wrong, in that the problem and the solution are presented alongside one another. If instead the problem was explained on the top, and suggested solutions discussed independently below (or even on separate pages). The way it is now, I for one feel that the DIP is the creator's property and should not be edited. -- Simen |
September 09, 2013 Re: new DIP48: Interface specifications for aggregate types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Simen Kjaeraas | On 2013-09-08 20:13, Simen Kjaeraas wrote: > In response to Walter's DIP47 I have created my own take on what I see > as the main problem: > > http://wiki.dlang.org/DIP48 As I wrote in the DIP47 thread: What's wrong with this currently working code: class Foo { void foo (); void foo () { writeln("Foo.foo"); } } void main () { auto foo = new Foo; foo.foo(); } -- /Jacob Carlborg |
September 09, 2013 Re: new DIP48: Interface specifications for aggregate types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On Mon, 09 Sep 2013 09:13:55 +0200, Jacob Carlborg <doob@me.com> wrote: > On 2013-09-08 20:13, Simen Kjaeraas wrote: >> In response to Walter's DIP47 I have created my own take on what I see >> as the main problem: >> >> http://wiki.dlang.org/DIP48 > > As I wrote in the DIP47 thread: > > What's wrong with this currently working code: > > class Foo > { > void foo (); > > void foo () > { > writeln("Foo.foo"); > } > } > > void main () > { > auto foo = new Foo; > foo.foo(); > } > The fact that I can easily write this: class Foo { // Declarations: void foo(); // Definitions: void foo() { writeln("Foo.foo"); } void bar(int n) { writeln("Foo.bar(",n,")"); } } And the compiler will keep completely quiet about bar not being mentioned in the declarations section. -- Simen |
Copyright © 1999-2021 by the D Language Foundation