Topic: Theoretical computer science and


Author: Fernando Pelliccioni <fpelliccioni@gmail.com>
Date: Thu, 9 Jan 2014 16:20:02 -0200
Raw View
--001a11c35624785fbe04ef8da810
Content-Type: text/plain; charset=ISO-8859-1

Hi Vincent,

Have you heard about Elements of Programming of Alex Stepanov?
He describes several concepts taken from abstract algebra like semigroups,
monoids, groups, rings modules.

http://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/032163537X


On Sat, Dec 28, 2013 at 8:46 PM, Vincent Reverdy <vince.rev@gmail.com>wrote:

> Of course, the term concept is very generic, but it reminds me some
> remarks of Bjarne/Andrew during this talk
> <http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C->(I
> think they mentioned the "monoids" as examples at some point during the
> talk). If you look to Boost.Geometry they seem to use a concept named "
> ring<http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html>".
> Additionnaly, I think that at some point the standard library would need a
> concept of vector space particularly in a context of 2D or 3D graphics. I
> originally asked this question because, if we expect to need some of these
> algebraic structures as concepts for the standard library, it may be wise
> to design their relations as a whole, instead of separate things when we
> will have a specific need. But I do not have a sufficient knowledge of
> category theory to say whether it is possible and relevant to design
> something both simple and useful and to avoid an heavy machinery.
>
> --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--001a11c35624785fbe04ef8da810
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Vincent,<div><br></div><div><div>Have you heard about E=
lements of Programming of Alex Stepanov?</div><div>He describes several con=
cepts taken from abstract algebra like semigroups, monoids, groups, rings m=
odules.</div>
<div><br></div><div><a href=3D"http://www.amazon.com/Elements-Programming-A=
lexander-Stepanov/dp/032163537X">http://www.amazon.com/Elements-Programming=
-Alexander-Stepanov/dp/032163537X</a></div></div></div><div class=3D"gmail_=
extra">
<br><br><div class=3D"gmail_quote">On Sat, Dec 28, 2013 at 8:46 PM, Vincent=
 Reverdy <span dir=3D"ltr">&lt;<a href=3D"mailto:vince.rev@gmail.com" targe=
t=3D"_blank">vince.rev@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
<div dir=3D"ltr">Of course, the term concept is very generic, but it remind=
s me some remarks of Bjarne/Andrew during this <a href=3D"http://channel9.m=
sdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-" target=
=3D"_blank">talk </a>(I think they mentioned the &quot;monoids&quot; as exa=
mples at some point during the talk). If you look to Boost.Geometry they se=
em to use a concept named &quot;<a href=3D"http://www.boost.org/doc/libs/1_=
55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html" =
target=3D"_blank">ring</a>&quot;. Additionnaly, I think that at some point =
the standard library would need a concept of vector space particularly in a=
 context of 2D or 3D graphics. I originally asked this question because, if=
 we expect to need some of these algebraic structures as concepts for the s=
tandard library, it may be wise to design their relations as a whole, inste=
ad of separate things when we will have a specific need. But I do not have =
a sufficient knowledge of category theory to say whether it is possible and=
 relevant to design something both simple and useful and to avoid an heavy =
machinery.<br>
</div><div class=3D"HOEnZb"><div class=3D"h5">

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
&nbsp;<br />
--- <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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a11c35624785fbe04ef8da810--

.


Author: Fernando Pelliccioni <fpelliccioni@gmail.com>
Date: Thu, 9 Jan 2014 16:22:31 -0200
Raw View
--001a1132efe052e45004ef8db12b
Content-Type: text/plain; charset=ISO-8859-1

Sorry, Alex Stepanov and Paul McJones


On Thu, Jan 9, 2014 at 3:20 PM, Fernando Pelliccioni <fpelliccioni@gmail.com
> wrote:

> Hi Vincent,
>
> Have you heard about Elements of Programming of Alex Stepanov?
> He describes several concepts taken from abstract algebra like semigroups,
> monoids, groups, rings modules.
>
> http://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/032163537X
>
>
> On Sat, Dec 28, 2013 at 8:46 PM, Vincent Reverdy <vince.rev@gmail.com>wrote:
>
>> Of course, the term concept is very generic, but it reminds me some
>> remarks of Bjarne/Andrew during this talk
>> <http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C->(I
>> think they mentioned the "monoids" as examples at some point during the
>> talk). If you look to Boost.Geometry they seem to use a concept named "
>> ring<http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html>".
>> Additionnaly, I think that at some point the standard library would need a
>> concept of vector space particularly in a context of 2D or 3D graphics. I
>> originally asked this question because, if we expect to need some of these
>> algebraic structures as concepts for the standard library, it may be wise
>> to design their relations as a whole, instead of separate things when we
>> will have a specific need. But I do not have a sufficient knowledge of
>> category theory to say whether it is possible and relevant to design
>> something both simple and useful and to avoid an heavy machinery.
>>
>> --
>>
>> ---
>> 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.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--001a1132efe052e45004ef8db12b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Sorry, Alex Stepanov and Paul McJones</div><div class=3D"g=
mail_extra"><br><br><div class=3D"gmail_quote">On Thu, Jan 9, 2014 at 3:20 =
PM, Fernando Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:fpelliccio=
ni@gmail.com" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</span> wrote=
:<br>
<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">Hi Vincent,<div><br></div><=
div><div>Have you heard about Elements of Programming of Alex Stepanov?</di=
v>
<div>He describes several concepts taken from abstract algebra like semigro=
ups, monoids, groups, rings modules.</div>
<div><br></div><div><a href=3D"http://www.amazon.com/Elements-Programming-A=
lexander-Stepanov/dp/032163537X" target=3D"_blank">http://www.amazon.com/El=
ements-Programming-Alexander-Stepanov/dp/032163537X</a></div></div></div><d=
iv class=3D"HOEnZb">
<div class=3D"h5"><div class=3D"gmail_extra">
<br><br><div class=3D"gmail_quote">On Sat, Dec 28, 2013 at 8:46 PM, Vincent=
 Reverdy <span dir=3D"ltr">&lt;<a href=3D"mailto:vince.rev@gmail.com" targe=
t=3D"_blank">vince.rev@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">

<div dir=3D"ltr">Of course, the term concept is very generic, but it remind=
s me some remarks of Bjarne/Andrew during this <a href=3D"http://channel9.m=
sdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-" target=
=3D"_blank">talk </a>(I think they mentioned the &quot;monoids&quot; as exa=
mples at some point during the talk). If you look to Boost.Geometry they se=
em to use a concept named &quot;<a href=3D"http://www.boost.org/doc/libs/1_=
55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html" =
target=3D"_blank">ring</a>&quot;. Additionnaly, I think that at some point =
the standard library would need a concept of vector space particularly in a=
 context of 2D or 3D graphics. I originally asked this question because, if=
 we expect to need some of these algebraic structures as concepts for the s=
tandard library, it may be wise to design their relations as a whole, inste=
ad of separate things when we will have a specific need. But I do not have =
a sufficient knowledge of category theory to say whether it is possible and=
 relevant to design something both simple and useful and to avoid an heavy =
machinery.<br>

</div><div><div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
&nbsp;<br />
--- <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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a1132efe052e45004ef8db12b--

.


Author: "Billy O'Neal" <billy.oneal@gmail.com>
Date: Thu, 9 Jan 2014 12:42:09 -0800
Raw View
--f46d04479f931b24cf04ef8fa74c
Content-Type: text/plain; charset=ISO-8859-1

These still look like run time data structures, not "concepts" as proposed
for C++. Concepts are more like "named template parameter constraints"
rather than runtime structures.

Billy O'Neal
https://github.com/BillyONeal/ <https://bitbucket.org/BillyONeal/>
http://stackoverflow.com/users/82320/billy-oneal


On Thu, Jan 9, 2014 at 10:22 AM, Fernando Pelliccioni <
fpelliccioni@gmail.com> wrote:

> Sorry, Alex Stepanov and Paul McJones
>
>
> On Thu, Jan 9, 2014 at 3:20 PM, Fernando Pelliccioni <
> fpelliccioni@gmail.com> wrote:
>
>> Hi Vincent,
>>
>> Have you heard about Elements of Programming of Alex Stepanov?
>> He describes several concepts taken from abstract algebra like
>> semigroups, monoids, groups, rings modules.
>>
>>
>> http://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/032163537X
>>
>>
>> On Sat, Dec 28, 2013 at 8:46 PM, Vincent Reverdy <vince.rev@gmail.com>wrote:
>>
>>> Of course, the term concept is very generic, but it reminds me some
>>> remarks of Bjarne/Andrew during this talk
>>> <http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C->(I
>>> think they mentioned the "monoids" as examples at some point during the
>>> talk). If you look to Boost.Geometry they seem to use a concept named "
>>> ring<http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html>".
>>> Additionnaly, I think that at some point the standard library would need a
>>> concept of vector space particularly in a context of 2D or 3D graphics. I
>>> originally asked this question because, if we expect to need some of these
>>> algebraic structures as concepts for the standard library, it may be wise
>>> to design their relations as a whole, instead of separate things when we
>>> will have a specific need. But I do not have a sufficient knowledge of
>>> category theory to say whether it is possible and relevant to design
>>> something both simple and useful and to avoid an heavy machinery.
>>>
>>> --
>>>
>>> ---
>>> 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.
>>> Visit this group at
>>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>>
>>
>>
>  --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--f46d04479f931b24cf04ef8fa74c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">These still look like run time data structures, not &quot;=
concepts&quot; as proposed for C++. Concepts are more like &quot;named temp=
late parameter constraints&quot; rather than runtime structures.</div><div =
class=3D"gmail_extra">

<br clear=3D"all"><div><div dir=3D"ltr"><div>Billy O&#39;Neal</div><div><a =
href=3D"https://bitbucket.org/BillyONeal/" target=3D"_blank">https://github=
..com/BillyONeal/</a></div><div><a href=3D"http://stackoverflow.com/users/82=
320/billy-oneal" target=3D"_blank">http://stackoverflow.com/users/82320/bil=
ly-oneal</a></div>

</div></div>
<br><br><div class=3D"gmail_quote">On Thu, Jan 9, 2014 at 10:22 AM, Fernand=
o Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:fpelliccioni@gmail.co=
m" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</span> wrote:<br><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">

<div dir=3D"ltr">Sorry, Alex Stepanov and Paul McJones</div><div class=3D"H=
OEnZb"><div class=3D"h5"><div class=3D"gmail_extra"><br><br><div class=3D"g=
mail_quote">On Thu, Jan 9, 2014 at 3:20 PM, Fernando Pelliccioni <span dir=
=3D"ltr">&lt;<a href=3D"mailto:fpelliccioni@gmail.com" target=3D"_blank">fp=
elliccioni@gmail.com</a>&gt;</span> wrote:<br>


<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">Hi Vincent,<div><br></div><=
div><div>Have you heard about Elements of Programming of Alex Stepanov?</di=
v>


<div>He describes several concepts taken from abstract algebra like semigro=
ups, monoids, groups, rings modules.</div>
<div><br></div><div><a href=3D"http://www.amazon.com/Elements-Programming-A=
lexander-Stepanov/dp/032163537X" target=3D"_blank">http://www.amazon.com/El=
ements-Programming-Alexander-Stepanov/dp/032163537X</a></div></div></div><d=
iv>


<div><div class=3D"gmail_extra">
<br><br><div class=3D"gmail_quote">On Sat, Dec 28, 2013 at 8:46 PM, Vincent=
 Reverdy <span dir=3D"ltr">&lt;<a href=3D"mailto:vince.rev@gmail.com" targe=
t=3D"_blank">vince.rev@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">



<div dir=3D"ltr">Of course, the term concept is very generic, but it remind=
s me some remarks of Bjarne/Andrew during this <a href=3D"http://channel9.m=
sdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-" target=
=3D"_blank">talk </a>(I think they mentioned the &quot;monoids&quot; as exa=
mples at some point during the talk). If you look to Boost.Geometry they se=
em to use a concept named &quot;<a href=3D"http://www.boost.org/doc/libs/1_=
55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html" =
target=3D"_blank">ring</a>&quot;. Additionnaly, I think that at some point =
the standard library would need a concept of vector space particularly in a=
 context of 2D or 3D graphics. I originally asked this question because, if=
 we expect to need some of these algebraic structures as concepts for the s=
tandard library, it may be wise to design their relations as a whole, inste=
ad of separate things when we will have a specific need. But I do not have =
a sufficient knowledge of category theory to say whether it is possible and=
 relevant to design something both simple and useful and to avoid an heavy =
machinery.<br>



</div><div><div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
&nbsp;<br />
--- <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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--f46d04479f931b24cf04ef8fa74c--

.


Author: Fernando Pelliccioni <fpelliccioni@gmail.com>
Date: Thu, 9 Jan 2014 20:06:51 -0200
Raw View
--001a11c3d8d09c00e904ef90d3da
Content-Type: text/plain; charset=ISO-8859-1

I think you are talking about "Concepts Lite" or "Constraints".
C++0x Concepts had axioms.


On Thu, Jan 9, 2014 at 5:42 PM, Billy O'Neal <billy.oneal@gmail.com> wrote:

> These still look like run time data structures, not "concepts" as proposed
> for C++. Concepts are more like "named template parameter constraints"
> rather than runtime structures.
>
> Billy O'Neal
> https://github.com/BillyONeal/ <https://bitbucket.org/BillyONeal/>
> http://stackoverflow.com/users/82320/billy-oneal
>
>
> On Thu, Jan 9, 2014 at 10:22 AM, Fernando Pelliccioni <
> fpelliccioni@gmail.com> wrote:
>
>> Sorry, Alex Stepanov and Paul McJones
>>
>>
>> On Thu, Jan 9, 2014 at 3:20 PM, Fernando Pelliccioni <
>> fpelliccioni@gmail.com> wrote:
>>
>>> Hi Vincent,
>>>
>>> Have you heard about Elements of Programming of Alex Stepanov?
>>> He describes several concepts taken from abstract algebra like
>>> semigroups, monoids, groups, rings modules.
>>>
>>>
>>> http://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/032163537X
>>>
>>>
>>> On Sat, Dec 28, 2013 at 8:46 PM, Vincent Reverdy <vince.rev@gmail.com>wrote:
>>>
>>>> Of course, the term concept is very generic, but it reminds me some
>>>> remarks of Bjarne/Andrew during this talk
>>>> <http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C->(I
>>>> think they mentioned the "monoids" as examples at some point during the
>>>> talk). If you look to Boost.Geometry they seem to use a concept named "
>>>> ring<http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html>".
>>>> Additionnaly, I think that at some point the standard library would need a
>>>> concept of vector space particularly in a context of 2D or 3D graphics. I
>>>> originally asked this question because, if we expect to need some of these
>>>> algebraic structures as concepts for the standard library, it may be wise
>>>> to design their relations as a whole, instead of separate things when we
>>>> will have a specific need. But I do not have a sufficient knowledge of
>>>> category theory to say whether it is possible and relevant to design
>>>> something both simple and useful and to avoid an heavy machinery.
>>>>
>>>> --
>>>>
>>>> ---
>>>> 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.
>>>> Visit this group at
>>>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>>>
>>>
>>>
>>  --
>>
>> ---
>> 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.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>
>  --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--001a11c3d8d09c00e904ef90d3da
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I think you are talking about &quot;Concepts Lite&quot; or=
 &quot;Constraints&quot;.=A0<div>C++0x Concepts had axioms.</div></div><div=
 class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Thu, Jan 9, 20=
14 at 5:42 PM, Billy O&#39;Neal <span dir=3D"ltr">&lt;<a href=3D"mailto:bil=
ly.oneal@gmail.com" target=3D"_blank">billy.oneal@gmail.com</a>&gt;</span> =
wrote:<br>
<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">These still look like run t=
ime data structures, not &quot;concepts&quot; as proposed for C++. Concepts=
 are more like &quot;named template parameter constraints&quot; rather than=
 runtime structures.</div>
<div class=3D"gmail_extra">

<br clear=3D"all"><div><div dir=3D"ltr"><div>Billy O&#39;Neal</div><div><a =
href=3D"https://bitbucket.org/BillyONeal/" target=3D"_blank">https://github=
..com/BillyONeal/</a></div><div><a href=3D"http://stackoverflow.com/users/82=
320/billy-oneal" target=3D"_blank">http://stackoverflow.com/users/82320/bil=
ly-oneal</a></div>


</div></div><div><div class=3D"h5">
<br><br><div class=3D"gmail_quote">On Thu, Jan 9, 2014 at 10:22 AM, Fernand=
o Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:fpelliccioni@gmail.co=
m" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</span> wrote:<br><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">


<div dir=3D"ltr">Sorry, Alex Stepanov and Paul McJones</div><div><div><div =
class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Thu, Jan 9, 201=
4 at 3:20 PM, Fernando Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:=
fpelliccioni@gmail.com" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</s=
pan> wrote:<br>



<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">Hi Vincent,<div><br></div><=
div><div>Have you heard about Elements of Programming of Alex Stepanov?</di=
v>



<div>He describes several concepts taken from abstract algebra like semigro=
ups, monoids, groups, rings modules.</div>
<div><br></div><div><a href=3D"http://www.amazon.com/Elements-Programming-A=
lexander-Stepanov/dp/032163537X" target=3D"_blank">http://www.amazon.com/El=
ements-Programming-Alexander-Stepanov/dp/032163537X</a></div></div></div><d=
iv>



<div><div class=3D"gmail_extra">
<br><br><div class=3D"gmail_quote">On Sat, Dec 28, 2013 at 8:46 PM, Vincent=
 Reverdy <span dir=3D"ltr">&lt;<a href=3D"mailto:vince.rev@gmail.com" targe=
t=3D"_blank">vince.rev@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">




<div dir=3D"ltr">Of course, the term concept is very generic, but it remind=
s me some remarks of Bjarne/Andrew during this <a href=3D"http://channel9.m=
sdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-" target=
=3D"_blank">talk </a>(I think they mentioned the &quot;monoids&quot; as exa=
mples at some point during the talk). If you look to Boost.Geometry they se=
em to use a concept named &quot;<a href=3D"http://www.boost.org/doc/libs/1_=
55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html" =
target=3D"_blank">ring</a>&quot;. Additionnaly, I think that at some point =
the standard library would need a concept of vector space particularly in a=
 context of 2D or 3D graphics. I originally asked this question because, if=
 we expect to need some of these algebraic structures as concepts for the s=
tandard library, it may be wise to design their relations as a whole, inste=
ad of separate things when we will have a specific need. But I do not have =
a sufficient knowledge of category theory to say whether it is possible and=
 relevant to design something both simple and useful and to avoid an heavy =
machinery.<br>




</div><div><div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div></div></div><div class=3D"HOEnZb">=
<div class=3D"h5">

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
&nbsp;<br />
--- <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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a11c3d8d09c00e904ef90d3da--

.


Author: "Billy O'Neal" <billy.oneal@gmail.com>
Date: Fri, 10 Jan 2014 09:16:40 -0800
Raw View
--089e0158a92e1abe9304efa0e62e
Content-Type: text/plain; charset=ISO-8859-1

Even the proposed "axioms" wouldn't be able to specify the kinds of things
you're talking about.

I'm curious to see what kind of things you'd want to specify here. All the
bits described in places you've linked to are data types, not concepts.
Could you show a proposed concept and 2 or more types that implement that
concept?

Billy O'Neal
https://github.com/BillyONeal/ <https://bitbucket.org/BillyONeal/>
http://stackoverflow.com/users/82320/billy-oneal


On Thu, Jan 9, 2014 at 2:06 PM, Fernando Pelliccioni <fpelliccioni@gmail.com
> wrote:

> I think you are talking about "Concepts Lite" or "Constraints".
> C++0x Concepts had axioms.
>
>
> On Thu, Jan 9, 2014 at 5:42 PM, Billy O'Neal <billy.oneal@gmail.com>wrote:
>
>> These still look like run time data structures, not "concepts" as
>> proposed for C++. Concepts are more like "named template parameter
>> constraints" rather than runtime structures.
>>
>> Billy O'Neal
>> https://github.com/BillyONeal/ <https://bitbucket.org/BillyONeal/>
>> http://stackoverflow.com/users/82320/billy-oneal
>>
>>
>> On Thu, Jan 9, 2014 at 10:22 AM, Fernando Pelliccioni <
>> fpelliccioni@gmail.com> wrote:
>>
>>> Sorry, Alex Stepanov and Paul McJones
>>>
>>>
>>> On Thu, Jan 9, 2014 at 3:20 PM, Fernando Pelliccioni <
>>> fpelliccioni@gmail.com> wrote:
>>>
>>>> Hi Vincent,
>>>>
>>>> Have you heard about Elements of Programming of Alex Stepanov?
>>>> He describes several concepts taken from abstract algebra like
>>>> semigroups, monoids, groups, rings modules.
>>>>
>>>>
>>>> http://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/032163537X
>>>>
>>>>
>>>> On Sat, Dec 28, 2013 at 8:46 PM, Vincent Reverdy <vince.rev@gmail.com>wrote:
>>>>
>>>>> Of course, the term concept is very generic, but it reminds me some
>>>>> remarks of Bjarne/Andrew during this talk
>>>>> <http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C->(I
>>>>> think they mentioned the "monoids" as examples at some point during the
>>>>> talk). If you look to Boost.Geometry they seem to use a concept named "
>>>>> ring<http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html>".
>>>>> Additionnaly, I think that at some point the standard library would need a
>>>>> concept of vector space particularly in a context of 2D or 3D graphics. I
>>>>> originally asked this question because, if we expect to need some of these
>>>>> algebraic structures as concepts for the standard library, it may be wise
>>>>> to design their relations as a whole, instead of separate things when we
>>>>> will have a specific need. But I do not have a sufficient knowledge of
>>>>> category theory to say whether it is possible and relevant to design
>>>>> something both simple and useful and to avoid an heavy machinery.
>>>>>
>>>>> --
>>>>>
>>>>> ---
>>>>> 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.
>>>>> Visit this group at
>>>>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>>>>
>>>>
>>>>
>>>  --
>>>
>>> ---
>>> 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.
>>> Visit this group at
>>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>>
>>
>>  --
>>
>> ---
>> 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.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>
>  --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--089e0158a92e1abe9304efa0e62e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Even the proposed &quot;axioms&quot; wouldn&#39;t be able =
to specify the kinds of things you&#39;re talking about.<div><br></div><div=
>I&#39;m curious to see what kind of things you&#39;d want to specify here.=
 All the bits described in places you&#39;ve linked to are data types, not =
concepts. Could you show a proposed concept and 2 or more types that implem=
ent that concept?</div>

</div><div class=3D"gmail_extra"><br clear=3D"all"><div><div dir=3D"ltr"><d=
iv>Billy O&#39;Neal</div><div><a href=3D"https://bitbucket.org/BillyONeal/"=
 target=3D"_blank">https://github.com/BillyONeal/</a></div><div><a href=3D"=
http://stackoverflow.com/users/82320/billy-oneal" target=3D"_blank">http://=
stackoverflow.com/users/82320/billy-oneal</a></div>

</div></div>
<br><br><div class=3D"gmail_quote">On Thu, Jan 9, 2014 at 2:06 PM, Fernando=
 Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:fpelliccioni@gmail.com=
" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</span> wrote:<br><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">

<div dir=3D"ltr">I think you are talking about &quot;Concepts Lite&quot; or=
 &quot;Constraints&quot;.=A0<div>C++0x Concepts had axioms.</div></div><div=
 class=3D"HOEnZb"><div class=3D"h5"><div class=3D"gmail_extra"><br><br><div=
 class=3D"gmail_quote">

On Thu, Jan 9, 2014 at 5:42 PM, Billy O&#39;Neal <span dir=3D"ltr">&lt;<a h=
ref=3D"mailto:billy.oneal@gmail.com" target=3D"_blank">billy.oneal@gmail.co=
m</a>&gt;</span> wrote:<br>
<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">These still look like run t=
ime data structures, not &quot;concepts&quot; as proposed for C++. Concepts=
 are more like &quot;named template parameter constraints&quot; rather than=
 runtime structures.</div>


<div class=3D"gmail_extra">

<br clear=3D"all"><div><div dir=3D"ltr"><div>Billy O&#39;Neal</div><div><a =
href=3D"https://bitbucket.org/BillyONeal/" target=3D"_blank">https://github=
..com/BillyONeal/</a></div><div><a href=3D"http://stackoverflow.com/users/82=
320/billy-oneal" target=3D"_blank">http://stackoverflow.com/users/82320/bil=
ly-oneal</a></div>




</div></div><div><div>
<br><br><div class=3D"gmail_quote">On Thu, Jan 9, 2014 at 10:22 AM, Fernand=
o Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:fpelliccioni@gmail.co=
m" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</span> wrote:<br><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">




<div dir=3D"ltr">Sorry, Alex Stepanov and Paul McJones</div><div><div><div =
class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Thu, Jan 9, 201=
4 at 3:20 PM, Fernando Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:=
fpelliccioni@gmail.com" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</s=
pan> wrote:<br>





<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">Hi Vincent,<div><br></div><=
div><div>Have you heard about Elements of Programming of Alex Stepanov?</di=
v>





<div>He describes several concepts taken from abstract algebra like semigro=
ups, monoids, groups, rings modules.</div>
<div><br></div><div><a href=3D"http://www.amazon.com/Elements-Programming-A=
lexander-Stepanov/dp/032163537X" target=3D"_blank">http://www.amazon.com/El=
ements-Programming-Alexander-Stepanov/dp/032163537X</a></div></div></div><d=
iv>





<div><div class=3D"gmail_extra">
<br><br><div class=3D"gmail_quote">On Sat, Dec 28, 2013 at 8:46 PM, Vincent=
 Reverdy <span dir=3D"ltr">&lt;<a href=3D"mailto:vince.rev@gmail.com" targe=
t=3D"_blank">vince.rev@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">






<div dir=3D"ltr">Of course, the term concept is very generic, but it remind=
s me some remarks of Bjarne/Andrew during this <a href=3D"http://channel9.m=
sdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-" target=
=3D"_blank">talk </a>(I think they mentioned the &quot;monoids&quot; as exa=
mples at some point during the talk). If you look to Boost.Geometry they se=
em to use a concept named &quot;<a href=3D"http://www.boost.org/doc/libs/1_=
55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html" =
target=3D"_blank">ring</a>&quot;. Additionnaly, I think that at some point =
the standard library would need a concept of vector space particularly in a=
 context of 2D or 3D graphics. I originally asked this question because, if=
 we expect to need some of these algebraic structures as concepts for the s=
tandard library, it may be wise to design their relations as a whole, inste=
ad of separate things when we will have a specific need. But I do not have =
a sufficient knowledge of category theory to say whether it is possible and=
 relevant to design something both simple and useful and to avoid an heavy =
machinery.<br>






</div><div><div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div></div></div><div><div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
&nbsp;<br />
--- <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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--089e0158a92e1abe9304efa0e62e--

.


Author: Fernando Pelliccioni <fpelliccioni@gmail.com>
Date: Fri, 10 Jan 2014 16:42:39 -0200
Raw View
--089e0141a0a032a53504efa217ba
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Jan 10, 2014 at 2:16 PM, Billy O'Neal <billy.oneal@gmail.com> wrote:

> Even the proposed "axioms" wouldn't be able to specify the kinds of things
> you're talking about.
>

Why?
Apparently, according to
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2887.pdf, have
been possible to implement them



>
> I'm curious to see what kind of things you'd want to specify here.
>

Sorry, I don't want to specify anything, I think you are confusing me with
Vincent.
I just suggested Vincent to take a look at EoP because I believe that
sooner or later the C++ Concepts will be able to specify the Concepts
listed on EoP (among others).



> All the bits described in places you've linked to are data types, not
> concepts.
>

I did just link to EoP. What other links are you talking about?
In EoP, semigroups, monoids, groups, etc, are described as Concepts, for
example:

AdditiveSemigroup(T) ^=
Regular(T)
^ + : T x T -> T
^ associative(+)
^ commutative (+)

or in C++0X Concepts

concept AdditiveSemigroup<typename T> : Regular<T>
{
T operator+( T, T );

axiom Associativity( T a, T b, T c ) {
    (a + b) + c <=> a + (b + c);
}

axiom Commutativity( T a, T b ) {
a + b <=> b + a;
}
}



> Could you show a proposed concept and 2 or more types that implement that
> concept?
>

Sorry, I don't understand what you mean.



>
> Billy O'Neal
> https://github.com/BillyONeal/ <https://bitbucket.org/BillyONeal/>
> http://stackoverflow.com/users/82320/billy-oneal
>
>
> On Thu, Jan 9, 2014 at 2:06 PM, Fernando Pelliccioni <
> fpelliccioni@gmail.com> wrote:
>
>> I think you are talking about "Concepts Lite" or "Constraints".
>> C++0x Concepts had axioms.
>>
>>
>> On Thu, Jan 9, 2014 at 5:42 PM, Billy O'Neal <billy.oneal@gmail.com>wrote:
>>
>>> These still look like run time data structures, not "concepts" as
>>> proposed for C++. Concepts are more like "named template parameter
>>> constraints" rather than runtime structures.
>>>
>>> Billy O'Neal
>>> https://github.com/BillyONeal/ <https://bitbucket.org/BillyONeal/>
>>> http://stackoverflow.com/users/82320/billy-oneal
>>>
>>>
>>> On Thu, Jan 9, 2014 at 10:22 AM, Fernando Pelliccioni <
>>> fpelliccioni@gmail.com> wrote:
>>>
>>>> Sorry, Alex Stepanov and Paul McJones
>>>>
>>>>
>>>> On Thu, Jan 9, 2014 at 3:20 PM, Fernando Pelliccioni <
>>>> fpelliccioni@gmail.com> wrote:
>>>>
>>>>> Hi Vincent,
>>>>>
>>>>> Have you heard about Elements of Programming of Alex Stepanov?
>>>>> He describes several concepts taken from abstract algebra like
>>>>> semigroups, monoids, groups, rings modules.
>>>>>
>>>>>
>>>>> http://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/032163537X
>>>>>
>>>>>
>>>>> On Sat, Dec 28, 2013 at 8:46 PM, Vincent Reverdy <vince.rev@gmail.com>wrote:
>>>>>
>>>>>> Of course, the term concept is very generic, but it reminds me some
>>>>>> remarks of Bjarne/Andrew during this talk
>>>>>> <http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C->(I
>>>>>> think they mentioned the "monoids" as examples at some point during the
>>>>>> talk). If you look to Boost.Geometry they seem to use a concept named "
>>>>>> ring<http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html>".
>>>>>> Additionnaly, I think that at some point the standard library would need a
>>>>>> concept of vector space particularly in a context of 2D or 3D graphics. I
>>>>>> originally asked this question because, if we expect to need some of these
>>>>>> algebraic structures as concepts for the standard library, it may be wise
>>>>>> to design their relations as a whole, instead of separate things when we
>>>>>> will have a specific need. But I do not have a sufficient knowledge of
>>>>>> category theory to say whether it is possible and relevant to design
>>>>>> something both simple and useful and to avoid an heavy machinery.
>>>>>>
>>>>>> --
>>>>>>
>>>>>> ---
>>>>>> 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.
>>>>>> Visit this group at
>>>>>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>>>>>
>>>>>
>>>>>
>>>>  --
>>>>
>>>> ---
>>>> 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.
>>>> Visit this group at
>>>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>>>
>>>
>>>  --
>>>
>>> ---
>>> 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.
>>> Visit this group at
>>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>>
>>
>>  --
>>
>> ---
>> 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.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>
>  --
>
> ---
> 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.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--

---
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--089e0141a0a032a53504efa217ba
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On F=
ri, Jan 10, 2014 at 2:16 PM, Billy O&#39;Neal <span dir=3D"ltr">&lt;<a href=
=3D"mailto:billy.oneal@gmail.com" target=3D"_blank">billy.oneal@gmail.com</=
a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div dir=3D"ltr">Even the proposed &quot;axioms&quot; woul=
dn&#39;t be able to specify the kinds of things you&#39;re talking about.</=
div>
</blockquote><div><br></div><div><div>Why?</div><div>Apparently, according =
to <a href=3D"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2887=
..pdf">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2887.pdf</a>=
, have been possible to implement them</div>
</div><div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(20=
4,204,204);border-left-style:solid;padding-left:1ex"><div dir=3D"ltr"><div>=
<br></div>
<div>I&#39;m curious to see what kind of things you&#39;d want to specify h=
ere. </div></div></blockquote><div><br></div><div><div>Sorry, I don&#39;t w=
ant to specify anything, I think you are confusing me with Vincent.</div>
<div>I just suggested Vincent to take a look at EoP because I believe that =
sooner or later the C++ Concepts will be able to specify the Concepts liste=
d on EoP (among others).</div></div><div><br></div><div>=A0<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-w=
idth:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding=
-left:1ex">
<div dir=3D"ltr"><div>All the bits described in places you&#39;ve linked to=
 are data types, not concepts.</div></div></blockquote><div><br></div><div>=
<div>I did just link to EoP. What other links are you talking about?</div>
<div><div>In EoP, semigroups, monoids, groups, etc, are described as Concep=
ts, for example:</div><div><br></div><div>AdditiveSemigroup(T) ^=3D</div><d=
iv><span class=3D"" style=3D"white-space:pre"> </span>Regular(T)</div><div>=
<span class=3D"" style=3D"white-space:pre"> </span>^ + : T x T -&gt; T</div=
>
<div><span class=3D"" style=3D"white-space:pre"> </span>^ associative(+)</d=
iv><div><span class=3D"" style=3D"white-space:pre"> </span>^ commutative (+=
)</div><div><br></div><div>or in C++0X Concepts</div><div><br></div><div>co=
ncept AdditiveSemigroup&lt;typename T&gt; : Regular&lt;T&gt;</div>
<div>{</div><div><span class=3D"" style=3D"white-space:pre"> </span>T opera=
tor+( T, T );=A0</div><div><br></div><div><span class=3D"" style=3D"white-s=
pace:pre"> </span>axiom Associativity( T a, T b, T c ) {</div><div><span cl=
ass=3D"" style=3D"white-space:pre"> </span> =A0 =A0(a + b) + c &lt;=3D&gt; =
a + (b + c);</div>
<div><span class=3D"" style=3D"white-space:pre"> </span>}<span class=3D"" s=
tyle=3D"white-space:pre"> </span></div><div><br></div><div><span class=3D""=
 style=3D"white-space:pre"> </span>axiom Commutativity( T a, T b ) {</div><=
div><span class=3D"" style=3D"white-space:pre">  </span>a + b &lt;=3D&gt; b=
 + a;</div>
<div><span class=3D"" style=3D"white-space:pre"> </span>}</div><div>}</div>=
</div></div><div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:r=
gb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir=3D"ltr"><div> Could you show a proposed concept and 2 or more type=
s that implement that concept?</div></div></blockquote><div><br></div><div>=
Sorry, I don&#39;t understand what you mean.<br></div><div><br></div><div>
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-styl=
e:solid;padding-left:1ex"><div dir=3D"ltr">

</div><div class=3D"gmail_extra"><div class=3D"im"><br clear=3D"all"><div><=
div dir=3D"ltr"><div>Billy O&#39;Neal</div><div><a href=3D"https://bitbucke=
t.org/BillyONeal/" target=3D"_blank">https://github.com/BillyONeal/</a></di=
v><div>
<a href=3D"http://stackoverflow.com/users/82320/billy-oneal" target=3D"_bla=
nk">http://stackoverflow.com/users/82320/billy-oneal</a></div>

</div></div>
<br><br></div><div><div class=3D"h5"><div class=3D"gmail_quote">On Thu, Jan=
 9, 2014 at 2:06 PM, Fernando Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"=
mailto:fpelliccioni@gmail.com" target=3D"_blank">fpelliccioni@gmail.com</a>=
&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex">

<div dir=3D"ltr">I think you are talking about &quot;Concepts Lite&quot; or=
 &quot;Constraints&quot;.=A0<div>C++0x Concepts had axioms.</div></div><div=
><div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">

On Thu, Jan 9, 2014 at 5:42 PM, Billy O&#39;Neal <span dir=3D"ltr">&lt;<a h=
ref=3D"mailto:billy.oneal@gmail.com" target=3D"_blank">billy.oneal@gmail.co=
m</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div dir=3D"ltr">These still look like run time data struc=
tures, not &quot;concepts&quot; as proposed for C++. Concepts are more like=
 &quot;named template parameter constraints&quot; rather than runtime struc=
tures.</div>



<div class=3D"gmail_extra">

<br clear=3D"all"><div><div dir=3D"ltr"><div>Billy O&#39;Neal</div><div><a =
href=3D"https://bitbucket.org/BillyONeal/" target=3D"_blank">https://github=
..com/BillyONeal/</a></div><div><a href=3D"http://stackoverflow.com/users/82=
320/billy-oneal" target=3D"_blank">http://stackoverflow.com/users/82320/bil=
ly-oneal</a></div>





</div></div><div><div>
<br><br><div class=3D"gmail_quote">On Thu, Jan 9, 2014 at 10:22 AM, Fernand=
o Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:fpelliccioni@gmail.co=
m" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</span> wrote:<br><block=
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-w=
idth:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding=
-left:1ex">





<div dir=3D"ltr">Sorry, Alex Stepanov and Paul McJones</div><div><div><div =
class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Thu, Jan 9, 201=
4 at 3:20 PM, Fernando Pelliccioni <span dir=3D"ltr">&lt;<a href=3D"mailto:=
fpelliccioni@gmail.com" target=3D"_blank">fpelliccioni@gmail.com</a>&gt;</s=
pan> wrote:<br>






<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div dir=3D"ltr">Hi Vincent,<div><br></div><div><div>Have =
you heard about Elements of Programming of Alex Stepanov?</div>






<div>He describes several concepts taken from abstract algebra like semigro=
ups, monoids, groups, rings modules.</div>
<div><br></div><div><a href=3D"http://www.amazon.com/Elements-Programming-A=
lexander-Stepanov/dp/032163537X" target=3D"_blank">http://www.amazon.com/El=
ements-Programming-Alexander-Stepanov/dp/032163537X</a></div></div></div><d=
iv>






<div><div class=3D"gmail_extra">
<br><br><div class=3D"gmail_quote">On Sat, Dec 28, 2013 at 8:46 PM, Vincent=
 Reverdy <span dir=3D"ltr">&lt;<a href=3D"mailto:vince.rev@gmail.com" targe=
t=3D"_blank">vince.rev@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;bo=
rder-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">







<div dir=3D"ltr">Of course, the term concept is very generic, but it remind=
s me some remarks of Bjarne/Andrew during this <a href=3D"http://channel9.m=
sdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-" target=
=3D"_blank">talk </a>(I think they mentioned the &quot;monoids&quot; as exa=
mples at some point during the talk). If you look to Boost.Geometry they se=
em to use a concept named &quot;<a href=3D"http://www.boost.org/doc/libs/1_=
55_0/libs/geometry/doc/html/geometry/reference/concepts/concept_ring.html" =
target=3D"_blank">ring</a>&quot;. Additionnaly, I think that at some point =
the standard library would need a concept of vector space particularly in a=
 context of 2D or 3D graphics. I originally asked this question because, if=
 we expect to need some of these algebraic structures as concepts for the s=
tandard library, it may be wise to design their relations as a whole, inste=
ad of separate things when we will have a specific need. But I do not have =
a sufficient knowledge of category theory to say whether it is possible and=
 relevant to design something both simple and useful and to avoid an heavy =
machinery.<br>







</div><div><div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div></div></div><div><div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div></div></div><div class=3D""><div c=
lass=3D"h5">

<p></p>

-- <br>
=A0<br>
--- <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%2Bunsubscribe@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>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div></div>

<p></p>

-- <br />
&nbsp;<br />
--- <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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--089e0141a0a032a53504efa217ba--

.