Topic: Why module is module?


Author: inkwizytoryankes@gmail.com
Date: Fri, 30 Nov 2018 11:45:44 -0800 (PST)
Raw View
------=_Part_3640_1995860422.1543607144912
Content-Type: multipart/alternative;
 boundary="----=_Part_3641_1965907796.1543607144912"

------=_Part_3641_1965907796.1543607144912
Content-Type: text/plain; charset="UTF-8"

Some people do not like fact that `module` will be keyword (because it will
clash with existing names).

One solution is p0924r0 where it will make context sensitive.

But we could choose different name too (that are less likely to clash). Eg.
begin_module X;
start_module Y; //or
export_module Z; //or
module_unit W; //or

It will be bit more to type but this will be done only couple of times per
file (and in many cases done by IDE).

Why this approach was not taken?

Another way could be add `using`:

using module X;
export using module Y; //and

But this could be read as `import` similar to how we using `using namespace
Z;`

--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4-f98bf6136b63%40isocpp.org.

------=_Part_3641_1965907796.1543607144912
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Some people do not like fact that `module` will be ke=
yword (because it will clash with existing names).</div><div><br></div><div=
>One solution is p0924r0 where it will make context sensitive.</div><div><b=
r></div><div>But we could choose different name too (that are less likely t=
o clash). Eg.</div><div><div style=3D"background-color: rgb(250, 250, 250);=
 border-color: rgb(187, 187, 187); border-style: solid; border-width: 1px; =
overflow-wrap: break-word;" class=3D"prettyprint"><code class=3D"prettyprin=
t"><div class=3D"subprettyprint"><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify">begin_module X</span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify"><br>start_module Y</span><span style=3D"color: #660;" class=3D"s=
tyled-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-by-=
prettify"> </span><span style=3D"color: #800;" class=3D"styled-by-prettify"=
>//or</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br>e=
xport_module Z</span><span style=3D"color: #660;" class=3D"styled-by-pretti=
fy">;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </sp=
an><span style=3D"color: #800;" class=3D"styled-by-prettify">//or</span><sp=
an style=3D"color: #000;" class=3D"styled-by-prettify"><br>module_unit W</s=
pan><span style=3D"color: #660;" class=3D"styled-by-prettify">;</span><span=
 style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D=
"color: #800;" class=3D"styled-by-prettify">//or</span><span style=3D"color=
: #000;" class=3D"styled-by-prettify"><br></span></div></code></div></div><=
div><br></div><div>It will be bit more to type but this will be done only c=
ouple of times per file (and in many cases done by IDE).</div><div><br></di=
v><div>Why this approach was not taken?</div><div><br></div><div>Another wa=
y could be add `using`:</div><div><br></div><div><div style=3D"background-c=
olor: rgb(250, 250, 250); border-color: rgb(187, 187, 187); border-style: s=
olid; border-width: 1px; overflow-wrap: break-word;" class=3D"prettyprint">=
<code class=3D"prettyprint"><div class=3D"subprettyprint"><span style=3D"co=
lor: #008;" class=3D"styled-by-prettify">using</span><span style=3D"color: =
#000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #008;" cl=
ass=3D"styled-by-prettify">module</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify"> X</span><span style=3D"color: #660;" class=3D"styl=
ed-by-prettify">;</span><span style=3D"color: #000;" class=3D"styled-by-pre=
ttify"><br></span><span style=3D"color: #008;" class=3D"styled-by-prettify"=
>export</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </=
span><span style=3D"color: #008;" class=3D"styled-by-prettify">using</span>=
<span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span sty=
le=3D"color: #008;" class=3D"styled-by-prettify">module</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify"> Y</span><span style=3D"colo=
r: #660;" class=3D"styled-by-prettify">;</span><span style=3D"color: #000;"=
 class=3D"styled-by-prettify"> </span><span style=3D"color: #800;" class=3D=
"styled-by-prettify">//and</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify"><br></span></div></code></div><br>But this could be read as=
 `import` similar to how we using `using namespace Z;`<br></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4-f98bf6136b63%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4-f98bf6136b63=
%40isocpp.org</a>.<br />

------=_Part_3641_1965907796.1543607144912--

------=_Part_3640_1995860422.1543607144912--

.


Author: =?UTF-8?Q?Klaim_=2D_Jo=C3=ABl_Lamotte?= <mjklaim@gmail.com>
Date: Sat, 1 Dec 2018 15:13:57 +0100
Raw View
My understanding is that the issue have been solved by one of the
papers processed at last meeting,
making the module a context-specific keyword, in the module preamble
to be exact.
That's from memory, I' can't search for the exact paper and
confirmation right now.
On Fri, 30 Nov 2018 at 20:45, <inkwizytoryankes@gmail.com> wrote:
>
> Some people do not like fact that `module` will be keyword (because it will clash with existing names).
>
> One solution is p0924r0 where it will make context sensitive.
>
> But we could choose different name too (that are less likely to clash). Eg.
> begin_module X;
> start_module Y; //or
> export_module Z; //or
> module_unit W; //or
>
> It will be bit more to type but this will be done only couple of times per file (and in many cases done by IDE).
>
> Why this approach was not taken?
>
> Another way could be add `using`:
>
> using module X;
> export using module Y; //and
>
> But this could be read as `import` similar to how we using `using namespace Z;`
>
> --
> You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4-f98bf6136b63%40isocpp.org.

--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOU91ONQyQjf-QDUNH5rZ9C_vU%3DsSJJ6odGsgv4mMN4UqykxiQ%40mail.gmail.com.

.


Author: =?UTF-8?Q?Klaim_=2D_Jo=C3=ABl_Lamotte?= <mjklaim@gmail.com>
Date: Sat, 1 Dec 2018 18:40:04 +0100
Raw View
Here is the paper that was approved: http://wg21.link/p0924
On Sat, 1 Dec 2018 at 15:13, Klaim - Jo=C3=ABl Lamotte <mjklaim@gmail.com> =
wrote:
>
> My understanding is that the issue have been solved by one of the
> papers processed at last meeting,
> making the module a context-specific keyword, in the module preamble
> to be exact.
> That's from memory, I' can't search for the exact paper and
> confirmation right now.
> On Fri, 30 Nov 2018 at 20:45, <inkwizytoryankes@gmail.com> wrote:
> >
> > Some people do not like fact that `module` will be keyword (because it =
will clash with existing names).
> >
> > One solution is p0924r0 where it will make context sensitive.
> >
> > But we could choose different name too (that are less likely to clash).=
 Eg.
> > begin_module X;
> > start_module Y; //or
> > export_module Z; //or
> > module_unit W; //or
> >
> > It will be bit more to type but this will be done only couple of times =
per file (and in many cases done by IDE).
> >
> > Why this approach was not taken?
> >
> > Another way could be add `using`:
> >
> > using module X;
> > export using module Y; //and
> >
> > But this could be read as `import` similar to how we using `using names=
pace Z;`
> >
> > --
> > You received this message because you are subscribed to the Google Grou=
ps "ISO C++ Standard - Future Proposals" group.
> > To unsubscribe from this group and stop receiving emails from it, send =
an email to std-proposals+unsubscribe@isocpp.org.
> > To post to this group, send email to std-proposals@isocpp.org.
> > To view this discussion on the web visit https://groups.google.com/a/is=
ocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4-f98bf6136b63%40isocp=
p.org.

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAOU91OP5R8g%3D0vaETqWwTeMWC6o_BT8rENy9WaS84s5js=
TgiqQ%40mail.gmail.com.

.


Author: inkwizytoryankes@gmail.com
Date: Mon, 3 Dec 2018 12:41:08 -0800 (PST)
Raw View
------=_Part_4276_243321021.1543869669032
Content-Type: multipart/alternative;
 boundary="----=_Part_4277_1085795742.1543869669032"

------=_Part_4277_1085795742.1543869669032
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable



On Saturday, December 1, 2018 at 6:40:40 PM UTC+1, Klaim - Jo=C3=ABl Lamott=
e=20
wrote:
>
> Here is the paper that was approved: http://wg21.link/p0924=20
> On Sat, 1 Dec 2018 at 15:13, Klaim - Jo=C3=ABl Lamotte <mjk...@gmail.com=
=20
> <javascript:>> wrote:=20
> >=20
> > My understanding is that the issue have been solved by one of the=20
> > papers processed at last meeting,=20
> > making the module a context-specific keyword, in the module preamble=20
> > to be exact.=20
> > That's from memory, I' can't search for the exact paper and=20
> > confirmation right now.=20
>

I'm aware of paper (even I mention exactly same number in my message), my=
=20
question was different.
Why in first place this exactly name was taken and when problems arise name=
=20
was not change to something else?
As less serious solution could use `_Module` :)

Overall I bit dislike another corner case in language. In long run better=
=20
would be if module was intruded by some unique keyword and not by special=
=20
case
(if you define variable with type `module` you get module unit).

=20

> > On Fri, 30 Nov 2018 at 20:45, <inkwizyt...@gmail.com <javascript:>>=20
> wrote:=20
> > >=20
> > > Some people do not like fact that `module` will be keyword (because i=
t=20
> will clash with existing names).=20
> > >=20
> > > One solution is p0924r0 where it will make context sensitive.=20
> > >=20
> > > But we could choose different name too (that are less likely to=20
> clash). Eg.=20
> > > begin_module X;=20
> > > start_module Y; //or=20
> > > export_module Z; //or=20
> > > module_unit W; //or=20
> > >=20
> > > It will be bit more to type but this will be done only couple of time=
s=20
> per file (and in many cases done by IDE).=20
> > >=20
> > > Why this approach was not taken?=20
> > >=20
> > > Another way could be add `using`:=20
> > >=20
> > > using module X;=20
> > > export using module Y; //and=20
> > >=20
> > > But this could be read as `import` similar to how we using `using=20
> namespace Z;`=20
> > >=20
> > > --=20
> > > You received this message because you are subscribed to the Google=20
> Groups "ISO C++ Standard - Future Proposals" group.=20
> > > To unsubscribe from this group and stop receiving emails from it, sen=
d=20
> an email to std-proposal...@isocpp.org <javascript:>.=20
> > > To post to this group, send email to std-pr...@isocpp.org=20
> <javascript:>.=20
> > > To view this discussion on the web visit=20
> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-837=
2-47b1-a8b4-f98bf6136b63%40isocpp.org.=20
>
>

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/7a8fde63-330f-42e6-b4e6-47695158c463%40isocpp.or=
g.

------=_Part_4277_1085795742.1543869669032
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Saturday, December 1, 2018 at 6:40:40 PM UTC+1,=
 Klaim - Jo=C3=ABl Lamotte wrote:<blockquote class=3D"gmail_quote" style=3D=
"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex=
;">Here is the paper that was approved: <a href=3D"http://wg21.link/p0924" =
target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;http://w=
ww.google.com/url?q\x3dhttp%3A%2F%2Fwg21.link%2Fp0924\x26sa\x3dD\x26sntz\x3=
d1\x26usg\x3dAFQjCNECS6BnGLYdiYhuNqOaGfP1BLVNtw&#39;;return true;" onclick=
=3D"this.href=3D&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fwg21.link%=
2Fp0924\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNECS6BnGLYdiYhuNqOaGfP1BLVNt=
w&#39;;return true;">http://wg21.link/p0924</a>
<br>On Sat, 1 Dec 2018 at 15:13, Klaim - Jo=C3=ABl Lamotte &lt;<a href=3D"j=
avascript:" target=3D"_blank" gdf-obfuscated-mailto=3D"_EyJSPfhAgAJ" rel=3D=
"nofollow" onmousedown=3D"this.href=3D&#39;javascript:&#39;;return true;" o=
nclick=3D"this.href=3D&#39;javascript:&#39;;return true;">mjk...@gmail.com<=
/a>&gt; wrote:
<br>&gt;
<br>&gt; My understanding is that the issue have been solved by one of the
<br>&gt; papers processed at last meeting,
<br>&gt; making the module a context-specific keyword, in the module preamb=
le
<br>&gt; to be exact.
<br>&gt; That&#39;s from memory, I&#39; can&#39;t search for the exact pape=
r and
<br>&gt; confirmation right now.
<br></blockquote><div><br></div><div>I&#39;m aware of paper (even I mention=
 exactly same number in my message), my question was different.</div><div>W=
hy in first place this exactly name was taken and when problems arise name =
was not change to something else?</div><div>As less serious solution could =
use `_Module` :)</div><div><br></div><div>Overall I bit dislike another cor=
ner case in language. In long run better would be if module was intruded by=
 some unique keyword and not by special case</div><div> (if you define vari=
able with type `module` you get module unit).<br></div><div><br></div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-lef=
t: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">&gt; On Fri, 30 No=
v 2018 at 20:45, &lt;<a href=3D"javascript:" target=3D"_blank" gdf-obfuscat=
ed-mailto=3D"_EyJSPfhAgAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39=
;javascript:&#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39=
;;return true;">inkwizyt...@gmail.com</a>&gt; wrote:
<br>&gt; &gt;
<br>&gt; &gt; Some people do not like fact that `module` will be keyword (b=
ecause it will clash with existing names).
<br>&gt; &gt;
<br>&gt; &gt; One solution is p0924r0 where it will make context sensitive.
<br>&gt; &gt;
<br>&gt; &gt; But we could choose different name too (that are less likely =
to clash). Eg.
<br>&gt; &gt; begin_module X;
<br>&gt; &gt; start_module Y; //or
<br>&gt; &gt; export_module Z; //or
<br>&gt; &gt; module_unit W; //or
<br>&gt; &gt;
<br>&gt; &gt; It will be bit more to type but this will be done only couple=
 of times per file (and in many cases done by IDE).
<br>&gt; &gt;
<br>&gt; &gt; Why this approach was not taken?
<br>&gt; &gt;
<br>&gt; &gt; Another way could be add `using`:
<br>&gt; &gt;
<br>&gt; &gt; using module X;
<br>&gt; &gt; export using module Y; //and
<br>&gt; &gt;
<br>&gt; &gt; But this could be read as `import` similar to how we using `u=
sing namespace Z;`
<br>&gt; &gt;
<br>&gt; &gt; --
<br>&gt; &gt; You received this message because you are subscribed to the G=
oogle Groups &quot;ISO C++ Standard - Future Proposals&quot; group.
<br>&gt; &gt; To unsubscribe from this group and stop receiving emails from=
 it, send an email to <a href=3D"javascript:" target=3D"_blank" gdf-obfusca=
ted-mailto=3D"_EyJSPfhAgAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D&#3=
9;javascript:&#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#3=
9;;return true;">std-proposal...@<wbr>isocpp.org</a>.
<br>&gt; &gt; To post to this group, send email to <a href=3D"javascript:" =
target=3D"_blank" gdf-obfuscated-mailto=3D"_EyJSPfhAgAJ" rel=3D"nofollow" o=
nmousedown=3D"this.href=3D&#39;javascript:&#39;;return true;" onclick=3D"th=
is.href=3D&#39;javascript:&#39;;return true;">std-pr...@isocpp.org</a>.
<br>&gt; &gt; To view this discussion on the web visit <a href=3D"https://g=
roups.google.com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4=
-f98bf6136b63%40isocpp.org" target=3D"_blank" rel=3D"nofollow" onmousedown=
=3D"this.href=3D&#39;https://groups.google.com/a/isocpp.org/d/msgid/std-pro=
posals/d9cdd3db-8372-47b1-a8b4-f98bf6136b63%40isocpp.org&#39;;return true;"=
 onclick=3D"this.href=3D&#39;https://groups.google.com/a/isocpp.org/d/msgid=
/std-proposals/d9cdd3db-8372-47b1-a8b4-f98bf6136b63%40isocpp.org&#39;;retur=
n true;">https://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>propo=
sals/d9cdd3db-8372-47b1-<wbr>a8b4-f98bf6136b63%40isocpp.org</a><wbr>.
<br></blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/7a8fde63-330f-42e6-b4e6-47695158c463%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/7a8fde63-330f-42e6-b4e6-47695158c463=
%40isocpp.org</a>.<br />

------=_Part_4277_1085795742.1543869669032--

------=_Part_4276_243321021.1543869669032--

.


Author: Nicolas Lesser <blitzrakete@gmail.com>
Date: Mon, 3 Dec 2018 21:46:08 +0100
Raw View
--000000000000b572f6057c243d58
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Dec 3, 2018 at 9:41 PM <inkwizytoryankes@gmail.com> wrote:

>
>
> On Saturday, December 1, 2018 at 6:40:40 PM UTC+1, Klaim - Jo=C3=ABl Lamo=
tte
> wrote:
>>
>> Here is the paper that was approved: http://wg21.link/p0924
>> On Sat, 1 Dec 2018 at 15:13, Klaim - Jo=C3=ABl Lamotte <mjk...@gmail.com=
>
>> wrote:
>> >
>> > My understanding is that the issue have been solved by one of the
>> > papers processed at last meeting,
>> > making the module a context-specific keyword, in the module preamble
>> > to be exact.
>> > That's from memory, I' can't search for the exact paper and
>> > confirmation right now.
>>
>
> I'm aware of paper (even I mention exactly same number in my message), my
> question was different.
> Why in first place this exactly name was taken and when problems arise
> name was not change to something else?
>
Because it's the most natural/obvious name to use to introduce a module.


> As less serious solution could use `_Module` :)
>

_Static_assert already gives me headaches, no thank you.


>
> Overall I bit dislike another corner case in language. In long run better
> would be if module was intruded by some unique keyword and not by special
> case
> (if you define variable with type `module` you get module unit).
>

I disagree. In the long run it would be better if we use intuitive
keywords, and not some weird one. The current solution also gives us a way
to make it a real keyword in the future, without breaking backwards
compatibility. If we use some weird keyword, then we will never be able to
remove it.


>
>
>
>> > On Fri, 30 Nov 2018 at 20:45, <inkwizyt...@gmail.com> wrote:
>> > >
>> > > Some people do not like fact that `module` will be keyword (because
>> it will clash with existing names).
>> > >
>> > > One solution is p0924r0 where it will make context sensitive.
>> > >
>> > > But we could choose different name too (that are less likely to
>> clash). Eg.
>> > > begin_module X;
>> > > start_module Y; //or
>> > > export_module Z; //or
>> > > module_unit W; //or
>> > >
>> > > It will be bit more to type but this will be done only couple of
>> times per file (and in many cases done by IDE).
>> > >
>> > > Why this approach was not taken?
>> > >
>> > > Another way could be add `using`:
>> > >
>> > > using module X;
>> > > export using module Y; //and
>> > >
>> > > But this could be read as `import` similar to how we using `using
>> namespace Z;`
>> > >
>> > > --
>> > > You received this message because you are subscribed to the Google
>> Groups "ISO C++ Standard - Future Proposals" group.
>> > > To unsubscribe from this group and stop receiving emails from it,
>> send an email to std-proposal...@isocpp.org.
>> > > To post to this group, send email to std-pr...@isocpp.org.
>> > > To view this discussion on the web visit
>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-83=
72-47b1-a8b4-f98bf6136b63%40isocpp.org.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit
> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/7a8fde63-330=
f-42e6-b4e6-47695158c463%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/7a8fde63-33=
0f-42e6-b4e6-47695158c463%40isocpp.org?utm_medium=3Demail&utm_source=3Dfoot=
er>
> .
>

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CALmDwq1UFAA5aR-m8dabop_v%3D6sJjnvPtRQv0eFV8WoAv=
F4X_Q%40mail.gmail.com.

--000000000000b572f6057c243d58
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Mon, Dec 3,=
 2018 at 9:41 PM &lt;<a href=3D"mailto:inkwizytoryankes@gmail.com">inkwizyt=
oryankes@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote=
" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><=
div dir=3D"ltr"><br><br>On Saturday, December 1, 2018 at 6:40:40 PM UTC+1, =
Klaim - Jo=C3=ABl Lamotte wrote:<blockquote class=3D"gmail_quote" style=3D"=
margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">Her=
e is the paper that was approved: <a href=3D"http://wg21.link/p0924" rel=3D=
"nofollow" target=3D"_blank">http://wg21.link/p0924</a>
<br>On Sat, 1 Dec 2018 at 15:13, Klaim - Jo=C3=ABl Lamotte &lt;<a rel=3D"no=
follow">mjk...@gmail.com</a>&gt; wrote:
<br>&gt;
<br>&gt; My understanding is that the issue have been solved by one of the
<br>&gt; papers processed at last meeting,
<br>&gt; making the module a context-specific keyword, in the module preamb=
le
<br>&gt; to be exact.
<br>&gt; That&#39;s from memory, I&#39; can&#39;t search for the exact pape=
r and
<br>&gt; confirmation right now.
<br></blockquote><div><br></div><div>I&#39;m aware of paper (even I mention=
 exactly same number in my message), my question was different.</div><div>W=
hy in first place this exactly name was taken and when problems arise name =
was not change to something else?</div></div></blockquote><div>Because it&#=
39;s the most natural/obvious name to use to introduce a module.</div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>As less se=
rious solution could use `_Module` :)</div></div></blockquote><div><br></di=
v><div>_Static_assert already gives me headaches, no thank you.</div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div><br></div>=
<div>Overall I bit dislike another corner case in language. In long run bet=
ter would be if module was intruded by some unique keyword and not by speci=
al case</div><div> (if you define variable with type `module` you get modul=
e unit).<br></div></div></blockquote><div><br></div><div>I disagree. In the=
 long run it would be better if we use intuitive keywords, and not some wei=
rd one. The current solution also gives us a way to make it a real keyword =
in the future, without breaking backwards compatibility. If we use some wei=
rd keyword, then we will never be able to remove it.</div><div>=C2=A0</div>=
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div></div><div><br></div><=
div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0;margin-=
left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">&gt; On Fri, 30 Nov=
 2018 at 20:45, &lt;<a rel=3D"nofollow">inkwizyt...@gmail.com</a>&gt; wrote=
:
<br>&gt; &gt;
<br>&gt; &gt; Some people do not like fact that `module` will be keyword (b=
ecause it will clash with existing names).
<br>&gt; &gt;
<br>&gt; &gt; One solution is p0924r0 where it will make context sensitive.
<br>&gt; &gt;
<br>&gt; &gt; But we could choose different name too (that are less likely =
to clash). Eg.
<br>&gt; &gt; begin_module X;
<br>&gt; &gt; start_module Y; //or
<br>&gt; &gt; export_module Z; //or
<br>&gt; &gt; module_unit W; //or
<br>&gt; &gt;
<br>&gt; &gt; It will be bit more to type but this will be done only couple=
 of times per file (and in many cases done by IDE).
<br>&gt; &gt;
<br>&gt; &gt; Why this approach was not taken?
<br>&gt; &gt;
<br>&gt; &gt; Another way could be add `using`:
<br>&gt; &gt;
<br>&gt; &gt; using module X;
<br>&gt; &gt; export using module Y; //and
<br>&gt; &gt;
<br>&gt; &gt; But this could be read as `import` similar to how we using `u=
sing namespace Z;`
<br>&gt; &gt;
<br>&gt; &gt; --
<br>&gt; &gt; You received this message because you are subscribed to the G=
oogle Groups &quot;ISO C++ Standard - Future Proposals&quot; group.
<br>&gt; &gt; To unsubscribe from this group and stop receiving emails from=
 it, send an email to <a rel=3D"nofollow">std-proposal...@isocpp.org</a>.
<br>&gt; &gt; To post to this group, send email to <a rel=3D"nofollow">std-=
pr...@isocpp.org</a>.
<br>&gt; &gt; To view this discussion on the web visit <a href=3D"https://g=
roups.google.com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4=
-f98bf6136b63%40isocpp.org" rel=3D"nofollow" target=3D"_blank">https://grou=
ps.google.com/a/isocpp.org/d/msgid/std-proposals/d9cdd3db-8372-47b1-a8b4-f9=
8bf6136b63%40isocpp.org</a>.
<br></blockquote></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/7a8fde63-330f-42e6-b4e6-47695158c463%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/7a8fde63-330f-=
42e6-b4e6-47695158c463%40isocpp.org</a>.<br>
</blockquote></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CALmDwq1UFAA5aR-m8dabop_v%3D6sJjnvPtR=
Qv0eFV8WoAvF4X_Q%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CALmDwq1UFAA5aR=
-m8dabop_v%3D6sJjnvPtRQv0eFV8WoAvF4X_Q%40mail.gmail.com</a>.<br />

--000000000000b572f6057c243d58--

.


Author: inkwizytoryankes@gmail.com
Date: Mon, 3 Dec 2018 13:07:40 -0800 (PST)
Raw View
------=_Part_364_234090341.1543871260313
Content-Type: multipart/alternative;
 boundary="----=_Part_365_710352817.1543871260313"

------=_Part_365_710352817.1543871260313
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable



On Monday, December 3, 2018 at 9:46:21 PM UTC+1, Nicolas Lesser wrote:
>
> On Mon, Dec 3, 2018 at 9:41 PM <inkwizyt...@gmail.com <javascript:>>=20
> wrote:
>
>>
>>
>> On Saturday, December 1, 2018 at 6:40:40 PM UTC+1, Klaim - Jo=C3=ABl Lam=
otte=20
>> wrote:
>>>
>>> Here is the paper that was approved: http://wg21.link/p0924=20
>>> On Sat, 1 Dec 2018 at 15:13, Klaim - Jo=C3=ABl Lamotte <mjk...@gmail.co=
m>=20
>>> wrote:=20
>>> >=20
>>> > My understanding is that the issue have been solved by one of the=20
>>> > papers processed at last meeting,=20
>>> > making the module a context-specific keyword, in the module preamble=
=20
>>> > to be exact.=20
>>> > That's from memory, I' can't search for the exact paper and=20
>>> > confirmation right now.=20
>>>
>>
>> I'm aware of paper (even I mention exactly same number in my message), m=
y=20
>> question was different.
>> Why in first place this exactly name was taken and when problems arise=
=20
>> name was not change to something else?
>>
> Because it's the most natural/obvious name to use to introduce a module.
> =20
>
>> As less serious solution could use `_Module` :)
>>
>
> _Static_assert already gives me headaches, no thank you.
> =20
>
>>
>> Overall I bit dislike another corner case in language. In long run bette=
r=20
>> would be if module was intruded by some unique keyword and not by specia=
l=20
>> case
>> (if you define variable with type `module` you get module unit).
>>
>
> I disagree. In the long run it would be better if we use intuitive=20
> keywords, and not some weird one. The current solution also gives us a wa=
y=20
> to make it a real keyword in the future, without breaking backwards=20
> compatibility. If we use some weird keyword, then we will never be able t=
o=20
> remove it.
> =20
>
>
But now we have weird syntax, not every `module x;`  is module declaration.=
=20
This depend on context. On other thread someone said that module should be=
=20
easy to parse and now tool need to know C++ scopes to correctly parse file.=
=20
Previously it only need know tokenization of file (on similar level as=20
preprocesor).

I personally prefer weird keyword than weird syntax.

--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/db10a122-fe4d-478b-89ee-71d89376386c%40isocpp.or=
g.

------=_Part_365_710352817.1543871260313
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Monday, December 3, 2018 at 9:46:21 PM UTC+1, N=
icolas Lesser wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;ma=
rgin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=
=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Mon, Dec 3, 2018 at=
 9:41 PM &lt;<a href=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailt=
o=3D"zOmFUEKJAwAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;javascr=
ipt:&#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39;;return=
 true;">inkwizyt...@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex"><div dir=3D"ltr"><br><br>On Saturday, December 1, 2018 at 6:40:40=
 PM UTC+1, Klaim - Jo=C3=ABl Lamotte wrote:<blockquote class=3D"gmail_quote=
" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-le=
ft:1ex">Here is the paper that was approved: <a href=3D"http://wg21.link/p0=
924" rel=3D"nofollow" target=3D"_blank" onmousedown=3D"this.href=3D&#39;htt=
p://www.google.com/url?q\x3dhttp%3A%2F%2Fwg21.link%2Fp0924\x26sa\x3dD\x26sn=
tz\x3d1\x26usg\x3dAFQjCNECS6BnGLYdiYhuNqOaGfP1BLVNtw&#39;;return true;" onc=
lick=3D"this.href=3D&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fwg21.l=
ink%2Fp0924\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNECS6BnGLYdiYhuNqOaGfP1B=
LVNtw&#39;;return true;">http://wg21.link/p0924</a>
<br>On Sat, 1 Dec 2018 at 15:13, Klaim - Jo=C3=ABl Lamotte &lt;<a rel=3D"no=
follow">mjk...@gmail.com</a>&gt; wrote:
<br>&gt;
<br>&gt; My understanding is that the issue have been solved by one of the
<br>&gt; papers processed at last meeting,
<br>&gt; making the module a context-specific keyword, in the module preamb=
le
<br>&gt; to be exact.
<br>&gt; That&#39;s from memory, I&#39; can&#39;t search for the exact pape=
r and
<br>&gt; confirmation right now.
<br></blockquote><div><br></div><div>I&#39;m aware of paper (even I mention=
 exactly same number in my message), my question was different.</div><div>W=
hy in first place this exactly name was taken and when problems arise name =
was not change to something else?</div></div></blockquote><div>Because it&#=
39;s the most natural/obvious name to use to introduce a module.</div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>As less se=
rious solution could use `_Module` :)</div></div></blockquote><div><br></di=
v><div>_Static_assert already gives me headaches, no thank you.</div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div><br></div>=
<div>Overall I bit dislike another corner case in language. In long run bet=
ter would be if module was intruded by some unique keyword and not by speci=
al case</div><div> (if you define variable with type `module` you get modul=
e unit).<br></div></div></blockquote><div><br></div><div>I disagree. In the=
 long run it would be better if we use intuitive keywords, and not some wei=
rd one. The current solution also gives us a way to make it a real keyword =
in the future, without breaking backwards compatibility. If we use some wei=
rd keyword, then we will never be able to remove it.</div><div>=C2=A0<div d=
ir=3D"ltr"><br>
</div></div></div></div></blockquote><div><br></div><div>But now we have we=
ird syntax, not every `module x;`=C2=A0 is module declaration. This depend =
on context. On other thread someone said that module should be easy to pars=
e and now tool need to know C++ scopes to correctly parse file. Previously =
it only need know tokenization of file (on similar level as preprocesor).</=
div><div><br></div><div>I personally prefer weird keyword than weird syntax=
..<br></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/db10a122-fe4d-478b-89ee-71d89376386c%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/db10a122-fe4d-478b-89ee-71d89376386c=
%40isocpp.org</a>.<br />

------=_Part_365_710352817.1543871260313--

------=_Part_364_234090341.1543871260313--

.