Jump to page: 1 227  
Page
Thread overview
DIP10005: Dependency-Carrying Declarations is now available for community feedback
Dec 13, 2016
Timon Gehr
Dec 14, 2016
Timon Gehr
Dec 14, 2016
Yuxuan Shui
Dec 14, 2016
Chris M.
Dec 14, 2016
Chris M.
Dec 14, 2016
Chris M.
Dec 14, 2016
pineapple
Dec 14, 2016
Hatem Oraby
Dec 14, 2016
Jacob Carlborg
Dec 14, 2016
Suliman
Dec 14, 2016
Yuxuan Shui
Dec 14, 2016
Mathias Lang
Dec 14, 2016
ketmar
Dec 14, 2016
ketmar
Dec 14, 2016
Jonathan M Davis
Dec 14, 2016
Timon Gehr
Dec 14, 2016
Jonathan M Davis
Dec 14, 2016
Jon Degenhardt
Dec 14, 2016
Suliman
Dec 14, 2016
Dicebot
Dec 14, 2016
rikki cattermole
Dec 15, 2016
rikki cattermole
Dec 14, 2016
drug
Dec 14, 2016
default0
Dec 14, 2016
David Gileadi
Dec 14, 2016
Jonathan M Davis
Dec 15, 2016
Walter Bright
Dec 15, 2016
Andrej Mitrovic
Dec 16, 2016
Walter Bright
Dec 14, 2016
Iakh
Dec 14, 2016
Vladimir Panteleev
Dec 14, 2016
Andrej Mitrovic
Dec 14, 2016
ketmar
Dec 14, 2016
Anonymouse
Dec 14, 2016
Anonymouse
Dec 14, 2016
Andrej Mitrovic
Dec 14, 2016
H. S. Teoh
Dec 14, 2016
ketmar
Dec 14, 2016
Timothee Cour
Dec 14, 2016
Meta
Dec 14, 2016
ArturG
Dec 14, 2016
arturg
Dec 15, 2016
Meta
Dec 14, 2016
H. S. Teoh
Dec 14, 2016
H. S. Teoh
Dec 14, 2016
ketmar
Dec 14, 2016
bitwise
Dec 15, 2016
Seb
Dec 14, 2016
Andrej Mitrovic
Dec 14, 2016
Timon Gehr
Dec 15, 2016
Andrej Mitrovic
Dec 15, 2016
Andrej Mitrovic
Dec 15, 2016
David Gileadi
Dec 15, 2016
Chris M
Dec 15, 2016
ketmar
Dec 15, 2016
Timothee Cour
Dec 15, 2016
Yuxuan Shui
Dec 15, 2016
Meta
Dec 15, 2016
deadalnix
Dec 15, 2016
Meta
Dec 15, 2016
Walter Bright
Dec 15, 2016
Timothee Cour
Dec 15, 2016
ArturG
Dec 16, 2016
Timothee Cour
Dec 16, 2016
Yuxuan Shui
Dec 16, 2016
Walter Bright
Dec 15, 2016
deadalnix
Dec 16, 2016
Walter Bright
Dec 16, 2016
Walter Bright
Dec 15, 2016
Dmitry Olshansky
Dec 16, 2016
John Colvin
Dec 16, 2016
Jon Degenhardt
Dec 17, 2016
Walter Bright
Dec 17, 2016
Chris Wright
Dec 18, 2016
Chris Wright
Dec 18, 2016
pineapple
Dec 18, 2016
pineapple
Dec 18, 2016
pineapple
Dec 19, 2016
pineapple
Dec 19, 2016
pineapple
Dec 19, 2016
pineapple
Dec 19, 2016
pineapple
Dec 19, 2016
pineapple
Dec 19, 2016
deadalnix
Dec 20, 2016
Timon Gehr
Dec 18, 2016
Jacob Carlborg
Dec 18, 2016
Stefan Koch
Dec 18, 2016
Walter Bright
Dec 19, 2016
Jacob Carlborg
Dec 18, 2016
Joakim
Dec 19, 2016
Joakim
Dec 20, 2016
Timothee Cour
Dec 20, 2016
Timothee Cour
Dec 20, 2016
Joakim
Dec 20, 2016
Ilya Yaroshenko
Dec 21, 2016
Joakim
Dec 22, 2016
Joakim
Dec 22, 2016
Timothee Cour
Dec 23, 2016
Chris Wright
Dec 22, 2016
piotrklos
Dec 21, 2016
Timothee Cour
Dec 17, 2016
Jacob Carlborg
Dec 20, 2016
Meta
Dec 20, 2016
Dmitry Olshansky
Dec 20, 2016
Meta
Dec 23, 2016
Chris Wright
Dec 23, 2016
Chris Wright
Dec 23, 2016
Chris Wright
Dec 24, 2016
Chris Wright
Dec 24, 2016
Chris Wright
Dec 24, 2016
John Colvin
Dec 24, 2016
Chris Wright
Dec 24, 2016
Joakim
Dec 28, 2016
deadalnix
Dec 24, 2016
Stefan Koch
Dec 24, 2016
Stefan Koch
Dec 24, 2016
Stefan Koch
Dec 24, 2016
Stefan Koch
Dec 25, 2016
Chris Wright
Dec 25, 2016
Chris Wright
Dec 28, 2016
deadalnix
Dec 30, 2016
deadalnix
Dec 30, 2016
Stefan Koch
Dec 30, 2016
Chris Wright
Dec 30, 2016
Stefan Koch
Dec 30, 2016
ArturG
Dec 31, 2016
Chris Wright
Dec 31, 2016
Chris Wright
Dec 31, 2016
Timon Gehr
Jan 05, 2017
Timon Gehr
Dec 31, 2016
Chris Wright
Dec 31, 2016
Chris Wright
Dec 31, 2016
Chris Wright
Dec 31, 2016
Chris Wright
Dec 29, 2016
Chris Wright
Dec 31, 2016
Martin Nowak
Jan 03, 2017
Chris Wright
Jan 03, 2017
Joakim
Jan 03, 2017
Chris Wright
Jan 05, 2017
Joakim
Jan 03, 2017
Paulo Pinto
Direction of D
Jan 04, 2017
Joakim
Jan 03, 2017
Daniel N
Jan 03, 2017
Daniel N
Jan 04, 2017
deadalnix
Jan 04, 2017
Timon Gehr
[OT] static foreach
Jan 04, 2017
Stefan Koch
Jan 04, 2017
deadalnix
Jan 04, 2017
Timon Gehr
Jan 04, 2017
deadalnix
Dec 24, 2016
Chris Wright
Dec 24, 2016
Stefan Koch
Dec 25, 2016
Chris Wright
Dec 31, 2016
Adam D. Ruppe
Dec 31, 2016
Chris Wright
Dec 31, 2016
Meta
Dec 31, 2016
Chris Wright
Jan 02, 2017
pineapple
Jan 02, 2017
Timon Gehr
Jan 02, 2017
Chris Wright
December 13, 2016
Destroy.

https://github.com/dlang/DIPs/pull/51/files


Andrei
December 13, 2016
(eh I was off by one zero in the title)
December 13, 2016
On 12/13/2016 05:33 PM, Andrei Alexandrescu wrote:
> Destroy.
>
> https://github.com/dlang/DIPs/pull/51/files

The "View" mode offers formatting before merging: https://github.com/andralex/DIPs/blob/10ca2e22c0d759c81e4b3afbdc085d7131f68b85/DIPs/DIP1005.md -- Andrei



December 14, 2016
On 13.12.2016 23:33, Andrei Alexandrescu wrote:
> Destroy.
>
> https://github.com/dlang/DIPs/pull/51/files
>
>
> Andrei

1. The syntax is ambiguous.

Is import.foo.bar.baz the symbol baz in module foo.bar, or the symbol bar.baz in module foo?

I'd prefer syntax like (import foo.bar).baz and (import foo).bar.baz. (I.e., the syntax of import expressions would closely mirror that of import declarations, and would be unambiguous.)

2. The behaviour of aliases to import expressions should be defined explicitly.

I.e.

alias short = import very.long.module_name;

void foo(int i)(short.T a){ ... }

does this import the module if foo is not instantiated?
December 13, 2016
On 12/13/16 6:03 PM, Timon Gehr wrote:
> On 13.12.2016 23:33, Andrei Alexandrescu wrote:
>> Destroy.
>>
>> https://github.com/dlang/DIPs/pull/51/files
>>
>>
>> Andrei
>
> 1. The syntax is ambiguous.
>
> Is import.foo.bar.baz the symbol baz in module foo.bar, or the symbol
> bar.baz in module foo?
>
> I'd prefer syntax like (import foo.bar).baz and (import foo).bar.baz.
> (I.e., the syntax of import expressions would closely mirror that of
> import declarations, and would be unambiguous.)

That is a problem. I switched to the most attractive alternate syntax. https://github.com/andralex/DIPs/blob/2e5859c0f64ac4949123fe8de39ccf2ccf72d859/DIPs/DIP1005.md


Andrei

December 14, 2016
On 14.12.2016 01:14, Andrei Alexandrescu wrote:
> On 12/13/16 6:03 PM, Timon Gehr wrote:
>> On 13.12.2016 23:33, Andrei Alexandrescu wrote:
>>> Destroy.
>>>
>>> https://github.com/dlang/DIPs/pull/51/files
>>>
>>>
>>> Andrei
>>
>> 1. The syntax is ambiguous.
>>
>> Is import.foo.bar.baz the symbol baz in module foo.bar, or the symbol
>> bar.baz in module foo?
>>
>> I'd prefer syntax like (import foo.bar).baz and (import foo).bar.baz.
>> (I.e., the syntax of import expressions would closely mirror that of
>> import declarations, and would be unambiguous.)
>
> That is a problem. I switched to the most attractive alternate syntax.
> https://github.com/andralex/DIPs/blob/2e5859c0f64ac4949123fe8de39ccf2ccf72d859/DIPs/DIP1005.md
>
>
>
> Andrei
>

I'd still advise to match the syntax of other import declarations. What justifies the difference? (Note that import(foo.bar.baz) is a string import.)
December 14, 2016
On Wednesday, 14 December 2016 at 00:21:23 UTC, Timon Gehr wrote:
> On 14.12.2016 01:14, Andrei Alexandrescu wrote:
>> On 12/13/16 6:03 PM, Timon Gehr wrote:
>>> [...]
>>
>> That is a problem. I switched to the most attractive alternate syntax.
>> https://github.com/andralex/DIPs/blob/2e5859c0f64ac4949123fe8de39ccf2ccf72d859/DIPs/DIP1005.md
>>
>>
>>
>> Andrei
>>
>
> I'd still advise to match the syntax of other import declarations. What justifies the difference? (Note that import(foo.bar.baz) is a string import.)

Maybe it's a good idea to make it a property?

e.g.:

@import("std.stdio") void process(File f);
December 14, 2016
On Tuesday, 13 December 2016 at 23:03:39 UTC, Timon Gehr wrote:
> On 13.12.2016 23:33, Andrei Alexandrescu wrote:
>> Destroy.
>>
>> https://github.com/dlang/DIPs/pull/51/files
>>
>>
>> Andrei
>
> 1. The syntax is ambiguous.
>
> Is import.foo.bar.baz the symbol baz in module foo.bar, or the symbol bar.baz in module foo?
>
> I'd prefer syntax like (import foo.bar).baz and (import foo).bar.baz. (I.e., the syntax of import expressions would closely mirror that of import declarations, and would be unambiguous.)
>

Why not something like import foo.bar : baz or import foo : bar.baz to distinguish between module and symbol? It's already used anyway.

Also I like Yuxuan's idea, the other ideas seem to add more clutter after the function name
December 13, 2016
On 12/13/16 8:07 PM, Chris M. wrote:
>
> Why not something like import foo.bar : baz or import foo : bar.baz to
> distinguish between module and symbol? It's already used anyway.
>
> Also I like Yuxuan's idea, the other ideas seem to add more clutter
> after the function name

So we have:

// 1
struct Buffer(R) if ((import std.range).isInputRange!R) { ... }

// 2
struct Buffer(R) if (import std.range:isInputRange!R) { ... }

// 3
@import("std.stdio") struct Buffer(R) if (isInputRange!R) { ... }

The first two require repeating the import for each separate declaration, e.g.:

// 1
bool equal(R1, R2)
if ((import std.range).isInputRange!R1 && (import std.range).isInputRange!R2)
{ ... }

// 2
bool equal(R1, R2)
if (import std.range:isInputRange!R1 && import std.range:isInputRange!R2)
{ ... }

The last is surprising because it uses a string where otherwise there would be an unquoted list of dot-separated names.

I prefer the current form of the proposal:

bool equal(R1, R2)
import (std.range)
if (isInputRange!R1 && isInputRange!R2)
{ ... }

The point has been brought up that the syntax import(std.range) is also used for string imports. It is a drawback.


Andrei

December 14, 2016
On Wednesday, 14 December 2016 at 01:39:01 UTC, Andrei Alexandrescu wrote:

> I prefer the current form of the proposal:
>
> bool equal(R1, R2)
> import (std.range)
> if (isInputRange!R1 && isInputRange!R2)
> { ... }
>
> The point has been brought up that the syntax import(std.range) is also used for string imports. It is a drawback.
>
>
> Andrei

How about using "imports" instead of "import"? Simple enough change, and it still makes sense

bool equal(R1, R2)
imports (std.range)
if (isInputRange!R1 && isInputRange!R2)
{ ... }

« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11