Re: Wait, what? What is AliasSeq?

2015-09-20 Thread Suliman via Digitalmars-d

So AliasSeq = Tuples?


Re: Wait, what? What is AliasSeq?

2015-09-20 Thread Adam via Digitalmars-d

On Tuesday, 7 July 2015 at 22:22:02 UTC, Walter Bright wrote:

On 7/7/2015 2:20 PM, David Nadlinger wrote:
On Tuesday, 7 July 2015 at 21:15:40 UTC, Andrei Alexandrescu 
wrote:
So I thought we were supposed to replace bad names with good 
names. Template

arguments are indexable, so "sequence" doesn't quite apply.


Apparently Walter was opposed to using List, as that would 
somehow imply "linked

list".


I opposed it because lists are not indexable, and tuples are.


huh? A List is an ordered sequence. Both are indexable.

https://en.wikipedia.org/wiki/Enumeration

Wiki:

A list is any enumeration of a set of items. List or lists may 
also refer to:


and

Some sets can be enumerated by means of a natural ordering (such 
as 1, 2, 3, 4, ... for the set of positive integers), but in 
other cases it may be necessary to impose a (perhaps arbitrary) 
ordering.




Why you use that logic to choose a word is a kinda strange. A 
List doesn't imply much except what people want it to. You are 
choosing a single interpretation to not use it, when there are 
many.


A List is what someone creates with a pen and paper. It has an 
ordering(the first one and last one). A linked list or "unordered 
list" are just versions of a list.


A list is a list is a list!

Regardless, it's probably not the best term to use

TArgList or TArgSeq would be more descriptive.










Re: Wait, what? What is AliasSeq?

2015-07-23 Thread Timon Gehr via Digitalmars-d

On 07/23/2015 10:42 AM, deadalnix wrote:

On Wednesday, 22 July 2015 at 04:44:48 UTC, Timon Gehr wrote:

On 07/22/2015 12:53 AM, deadalnix wrote:

On Tuesday, 21 July 2015 at 21:26:24 UTC, Daniel N wrote:

On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:


Because, among other things, it auto-expands.


T


1) .tupleof auto-expands and changing it at this point would cause
epic breakage.(I also see no reason to.)



This is actually a very good point. First of, tupleof does not return a
TypeTuple, but they have something similar in nature.


What's the difference? There shouldn't be any.


You can't put runtime values into the first one, you can into the second
one.


It should be just a bunch of aliases to the field members, which have 
runtime values.


Anyway, I figured out the difference:

alias Seq(T...)=T;

void main(){
struct S{ int x,y,z; }
S s;
alias a=s.tupleof; // error
alias b=Seq!(s.x,s.y,s.z); // ok
alias c=Seq!(s.tupleof); // ok
typeof(s.tupleof) x;
alias d=x; // ok
}


Wtf.


Re: Wait, what? What is AliasSeq?

2015-07-23 Thread Jonathan M Davis via Digitalmars-d

On Thursday, 23 July 2015 at 15:03:24 UTC, Timon Gehr wrote:

On 07/23/2015 10:42 AM, deadalnix wrote:

On Wednesday, 22 July 2015 at 04:44:48 UTC, Timon Gehr wrote:

On 07/22/2015 12:53 AM, deadalnix wrote:

On Tuesday, 21 July 2015 at 21:26:24 UTC, Daniel N wrote:

On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:


Because, among other things, it auto-expands.


T


1) .tupleof auto-expands and changing it at this point 
would cause

epic breakage.(I also see no reason to.)



This is actually a very good point. First of, tupleof does 
not return a

TypeTuple, but they have something similar in nature.


What's the difference? There shouldn't be any.


You can't put runtime values into the first one, you can into 
the second

one.


It should be just a bunch of aliases to the field members, 
which have runtime values.


Anyway, I figured out the difference:

alias Seq(T...)=T;

void main(){
struct S{ int x,y,z; }
S s;
alias a=s.tupleof; // error
alias b=Seq!(s.x,s.y,s.z); // ok
alias c=Seq!(s.tupleof); // ok
typeof(s.tupleof) x;
alias d=x; // ok
}


Wtf.


That definitely makes it seem like they _should_ be the same, 
though they clearly aren't. That may just be part of the issues 
related to alias not being consistent that David was bringing up 
before though. Regardless, I'm inclined to agree that what 
tupleof gives you should just be a TypeTuple/AliasSeq/whatever, 
though it would be nice to rename it once we actually settle on a 
name for the library construct.


- Jonathan M Davis


Re: Wait, what? What is AliasSeq?

2015-07-23 Thread deadalnix via Digitalmars-d

On Tuesday, 21 July 2015 at 23:27:03 UTC, Tofu Ninja wrote:

On Tuesday, 21 July 2015 at 23:06:51 UTC, deadalnix wrote:

Facts are not oppinions. Deal with it.


It is fact that some people found the name TypeTuple confusing, 
nothing else.


You have the opinion that tuple should disqualify the name 
AliasTuple, some clearly dont agree with that.


Why is this getting so toxic, it's just a name...


That is a very good question. The answer is because many are 
ready to waste everybody's time with uneducated opinion because 
it is just a name.


Re: Wait, what? What is AliasSeq?

2015-07-23 Thread deadalnix via Digitalmars-d

On Wednesday, 22 July 2015 at 04:44:48 UTC, Timon Gehr wrote:

On 07/22/2015 12:53 AM, deadalnix wrote:

On Tuesday, 21 July 2015 at 21:26:24 UTC, Daniel N wrote:

On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:


Because, among other things, it auto-expands.


T


1) .tupleof auto-expands and changing it at this point would 
cause

epic breakage.(I also see no reason to.)



This is actually a very good point. First of, tupleof does not 
return a

TypeTuple, but they have something similar in nature.


What's the difference? There shouldn't be any.


You can't put runtime values into the first one, you can into the 
second one.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Zoadian via Digitalmars-d

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:
Some of the proposals do not even make any sense. Come on, all 
people that got into this know how newcomer react to the Tuple 
name noticed the same reaction. Yet, there is a large crow of 
idiots (sorry if you are in that crowd, on that one you ARE an 
idiot) that will send that proposal in again and again. Anyone 
that proposed that name at this point should only be laughed 
at, as it is clearly the manifestation of someone that have not 
deal first hand with the problems of the historical name and is 
serving as a living example of Dunning Kruger.


i get that TypeTuple is confusing as it is not _limited_ to types,
but why is it not a tuple?


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Timon Gehr via Digitalmars-d

On 07/22/2015 12:53 AM, deadalnix wrote:

On Tuesday, 21 July 2015 at 21:26:24 UTC, Daniel N wrote:

On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:


Because, among other things, it auto-expands.


T


1) .tupleof auto-expands and changing it at this point would cause
epic breakage.(I also see no reason to.)



This is actually a very good point. First of, tupleof does not return a
TypeTuple, but they have something similar in nature.


What's the difference? There shouldn't be any.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread H. S. Teoh via Digitalmars-d
On Tue, Jul 21, 2015 at 04:06:11PM +, Zoadian via Digitalmars-d wrote:
 On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:
 Some of the proposals do not even make any sense. Come on, all people
 that got into this know how newcomer react to the Tuple name noticed
 the same reaction. Yet, there is a large crow of idiots (sorry if you
 are in that crowd, on that one you ARE an idiot) that will send that
 proposal in again and again. Anyone that proposed that name at this
 point should only be laughed at, as it is clearly the manifestation
 of someone that have not deal first hand with the problems of the
 historical name and is serving as a living example of Dunning Kruger.
 
 i get that TypeTuple is confusing as it is not _limited_ to types, but
 why is it not a tuple?

Because, among other things, it auto-expands.


T

-- 
PNP = Plug 'N' Pray


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread H. S. Teoh via Digitalmars-d
On Tue, Jul 21, 2015 at 05:55:41PM +, Zoadian via Digitalmars-d wrote:
 On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:
 On Tue, Jul 21, 2015 at 04:06:11PM +, Zoadian via Digitalmars-d wrote:
[...]
 i get that TypeTuple is confusing as it is not _limited_ to types,
 but why is it not a tuple?
 
 Because, among other things, it auto-expands.
 
 
 T
 
 I agree that auto-expansion is a bit unexpected (documentation does
 not even mention it...). But by that logic it's not a 'Sequence',
 'List' or 'Pack' either.
 
 Can't we just call it Unpack!() then?
[...]

This, and other similar proposals, have been already all been considered
in the past.  The conclusion was, and still is, that *none* of these
names are perfectly satisfactory. Prolonging this thread with new
proposals (that are actually just rehashes of long-dead proposals) isn't
getting us anywhere.

This is all missing the point, though, which is that we're wasting time
arguing over a miserable little identifier, when there are far more
important things we need to be working on right now. I wish we would
just call it Zxkuqyb and let it rest already.


T

-- 
For every argument for something, there is always an equal and opposite 
argument against it. Debates don't give answers, only wounded or inflated egos.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Zoadian via Digitalmars-d

On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:
On Tue, Jul 21, 2015 at 04:06:11PM +, Zoadian via 
Digitalmars-d wrote:

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:
Some of the proposals do not even make any sense. Come on, 
all people that got into this know how newcomer react to the 
Tuple name noticed the same reaction. Yet, there is a large 
crow of idiots (sorry if you are in that crowd, on that one 
you ARE an idiot) that will send that proposal in again and 
again. Anyone that proposed that name at this point should 
only be laughed at, as it is clearly the manifestation of 
someone that have not deal first hand with the problems of 
the historical name and is serving as a living example of 
Dunning Kruger.


i get that TypeTuple is confusing as it is not _limited_ to 
types, but why is it not a tuple?


Because, among other things, it auto-expands.


T


I agree that auto-expansion is a bit unexpected (documentation 
does not even mention it...). But by that logic it's not a 
'Sequence', 'List' or 'Pack' either.


Can't we just call it Unpack!() then?




Re: Wait, what? What is AliasSeq?

2015-07-21 Thread H. S. Teoh via Digitalmars-d
On Tue, Jul 21, 2015 at 06:23:25PM +, Jonathan M Davis via Digitalmars-d 
wrote:
 On Tuesday, 21 July 2015 at 18:15:08 UTC, H. S. Teoh wrote:
 I wish we would just call it Zxkuqyb and let it rest already.
 
 If we're going to do something like that, why not go for the geek cred
 and go for XYZZY? ;)

Have you googled Zxkuqyb? ;-)


 For every argument for something, there is always an equal and
 opposite argument against it. Debates don't give answers, only
 wounded or inflated egos.
 
 This one doesn't seem as random as most of your quotes... Methinks
 that you rigged this one. :)
[...]

Haha, actually, I didn't rig this one. My Perl script can sometimes be
surprisingly on-topic. But I think it's just a coincidence, since
usually when it's not on-topic nobody notices.


T

-- 
What doesn't kill me makes me stranger.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Jonathan M Davis via Digitalmars-d

On Tuesday, 21 July 2015 at 07:13:08 UTC, Tofu Ninja wrote:

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:


I expect others here to grow up a bit


Yet, there is a large crow of idiots (sorry if you are in that 
crowd, on that one you ARE an idiot)


You trolling right now?


I don't think that I'd say that he's trolling, but his anger 
clearly got the better of him.


I agree with the gist of what he said, though I certainly would 
not have said it the way that he did.


- Jonathan M Davis


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Jonathan M Davis via Digitalmars-d

On Tuesday, 21 July 2015 at 18:32:26 UTC, H. S. Teoh wrote:
On Tue, Jul 21, 2015 at 06:23:25PM +, Jonathan M Davis via 
Digitalmars-d wrote:

On Tuesday, 21 July 2015 at 18:15:08 UTC, H. S. Teoh wrote:
I wish we would just call it Zxkuqyb and let it rest already.

If we're going to do something like that, why not go for the 
geek cred and go for XYZZY? ;)


Have you googled Zxkuqyb? ;-)


Nope. That one does look pretty geeky too. Sadly, I've never 
played an Ultima game, which would be why I didn't catch the 
reference. Good stuff though.


- Jonathan M Davis



Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Jonathan M Davis via Digitalmars-d

On Tuesday, 21 July 2015 at 18:15:08 UTC, H. S. Teoh wrote:

I wish we would just call it Zxkuqyb and let it rest already.


If we're going to do something like that, why not go for the geek 
cred and go for XYZZY? ;)


For every argument for something, there is always an equal and 
opposite argument against it. Debates don't give answers, only 
wounded or inflated egos.


This one doesn't seem as random as most of your quotes... 
Methinks that you rigged this one. :)


- Jonathan M Davis


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Daniel N via Digitalmars-d

On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:


Because, among other things, it auto-expands.


T


1) .tupleof auto-expands and changing it at this point would 
cause epic breakage.(I also see no reason to.)


2) Even the tuple in std.typecons has a manual .expand property, 
i.e. it may not be auto-expanding but it reaffirms that expanding 
is a common operation on tuples.(the same is not true for arrays, 
lists, etc.)


3) At the risk of sounding like a broken record: Tuple is the 
poster-child of heterogeneous constructs.




Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Paolo Invernizzi via Digitalmars-d

On Tuesday, 21 July 2015 at 19:00:18 UTC, Jonathan M Davis wrote:

On Tuesday, 21 July 2015 at 18:32:26 UTC, H. S. Teoh wrote:
On Tue, Jul 21, 2015 at 06:23:25PM +, Jonathan M Davis via 
Digitalmars-d wrote:

On Tuesday, 21 July 2015 at 18:15:08 UTC, H. S. Teoh wrote:
I wish we would just call it Zxkuqyb and let it rest already.

If we're going to do something like that, why not go for the 
geek cred and go for XYZZY? ;)


Have you googled Zxkuqyb? ;-)


Nope. That one does look pretty geeky too. Sadly, I've never 
played an Ultima game, which would be why I didn't catch the 
reference. Good stuff though.


- Jonathan M Davis


Lord British was by my side during all my electronic life...

---
Paolo, GM Tamer, Ultima Online, since beta!


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread deadalnix via Digitalmars-d

On Tuesday, 21 July 2015 at 21:26:24 UTC, Daniel N wrote:

On Tuesday, 21 July 2015 at 16:54:54 UTC, H. S. Teoh wrote:


Because, among other things, it auto-expands.


T


1) .tupleof auto-expands and changing it at this point would 
cause epic breakage.(I also see no reason to.)




This is actually a very good point. First of, tupleof does not 
return a TypeTuple, but they have something similar in nature. 
This concept need a name, preferably a name that do not elicit 
confusion.


Even if we dodge the problem now by going for Aliases, this 
concept would still require a name. Using tuple for that concept 
just confuses people.


2) Even the tuple in std.typecons has a manual .expand 
property, i.e. it may not be auto-expanding but it reaffirms 
that expanding is a common operation on tuples.(the same is not 
true for arrays, lists, etc.)




If tuple have an .expand property, it is because the tuple and 
the expanded version of it are two different things.


This is confusing to name that thing a tuple as well. I do think 
this would be a mistake to name this anything like array or list 
as, if close, they are not quite the same and I suspect these 
name would elicit the same result as tuple does. That being said, 
I can only speculate for these, while I can assert it for tuple.


3) At the risk of sounding like a broken record: Tuple is the 
poster-child of heterogeneous constructs.


Yes, I know that strictly speaking, a tuple may well be auto 
expanding. But here you get into the Monad problem (ie: once you 
understand what a monad is, you loose all capacity to explain it 
to someone who don't).


There is the strict definition of the word, and there is what 
people expect out of it. When going academic, you want the first 
one. But, because you go for the first one, you end up saying 
things like A monad is just a monoid in the category of 
endofunctors which is certainly true, but won't help much when 
you try to actually use it.


It turns out that indeed, a tuple may well be auto expanding 
stricto sensu, but it is not what people expect of a tuple when 
they meet one.




Re: Wait, what? What is AliasSeq?

2015-07-21 Thread deadalnix via Digitalmars-d

On Tuesday, 21 July 2015 at 08:00:40 UTC, Daniel N wrote:

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:

Come on, all people that got into this know how newcomer react
to the Tuple name noticed the same reaction.


No, that highly depends on the background of the newcomer, 
everyone I introduced D to , only found it confusing that it 
was named Type*.


Type* = A construct that powerful it can contain Type:s as well?

Whereas the intuitive meaning would be:

Type* = A construct that is limited to Type:s only.



Yes, that is very true. The Type part of the old name was 
confusing.


Before this thread I didn't realize newcomers found the Tuple 
part confusing, I know that's the case now, but after viewing 
the poll, it seems to be a minority. But then again, how many 
newcomers would find Seq confusing, we will never know.


Experience show that the tuple part of the old name was confusing 
as well.


The poll was not answered by newcomers but by users of this 
forum. Most of them are experienced D users and already know what 
to expect from the construct.




Re: Wait, what? What is AliasSeq?

2015-07-21 Thread deadalnix via Digitalmars-d

On Tuesday, 21 July 2015 at 07:13:08 UTC, Tofu Ninja wrote:

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:


I expect others here to grow up a bit


Yet, there is a large crow of idiots (sorry if you are in that 
crowd, on that one you ARE an idiot)


You trolling right now?


I'm not. I would certainly have put this in a nicer manner given 
different circumstance, and certainly should have. But the point 
remains.


There are facts. Fact is, several persons reported that actual, 
real life newcomer are confused by tuple. As the experiment is 
repeatable we are not dealing with in the anecdotal anymore.


The fact the the poll show this result as a first one tells us 
that a good chunk of voters are either unaware of the evidence 
(there is nothing wrong with being ignorant, but don't try to 
influence results when you are or you'll be received as it 
should, with ridicule) or willfully choose to ignore ignore them 
which is worse. This CANNOT be taken seriously.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Tofu Ninja via Digitalmars-d

On Tuesday, 21 July 2015 at 22:25:22 UTC, deadalnix wrote:
I'm not. I would certainly have put this in a nicer manner 
given different circumstance, and certainly should have. But 
the point remains.


There are facts. Fact is, several persons reported that actual, 
real life newcomer are confused by tuple. As the experiment is 
repeatable we are not dealing with in the anecdotal anymore.


The fact the the poll show this result as a first one tells us 
that a good chunk of voters are either unaware of the evidence 
(there is nothing wrong with being ignorant, but don't try to 
influence results when you are or you'll be received as it 
should, with ridicule) or willfully choose to ignore ignore 
them which is worse. This CANNOT be taken seriously.


All the poll shows is what people like(or hate the least), Walter 
and Andrei can interpret that how ever they wish. I am not 
arguing for or against any of the names(they all suck).


We get it, you think tuple is a bad name, you keep coming back 
and repeating the same arguments. Everyone gets it. But if people 
don't share in your opinion or don't think it is as bad as you 
make it out to be then they have that right, that does not make 
them ignorant or an idiot. Your ad hominem attacks are really not 
needed.


Personally I don't like tuple that much either, I would prefer 
AliasList, but I like it better than AliasSeq and far better than 
Aliases.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread deadalnix via Digitalmars-d

On Tuesday, 21 July 2015 at 22:58:27 UTC, Tofu Ninja wrote:
All the poll shows is what people like(or hate the least), 
Walter and Andrei can interpret that how ever they wish. I am 
not arguing for or against any of the names(they all suck).


We get it, you think tuple is a bad name, you keep coming back 
and repeating the same arguments. Everyone gets it. But if 
people don't share in your opinion or don't think it is as bad 
as you make it out to be then they have that right, that does 
not make them ignorant or an idiot. Your ad hominem attacks are 
really not needed.




Facts are not oppinions. Deal with it.



Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Tofu Ninja via Digitalmars-d

On Tuesday, 21 July 2015 at 23:06:51 UTC, deadalnix wrote:

Facts are not oppinions. Deal with it.


It is fact that some people found the name TypeTuple confusing, 
nothing else.


You have the opinion that tuple should disqualify the name 
AliasTuple, some clearly dont agree with that.


Why is this getting so toxic, it's just a name...


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread H. S. Teoh via Digitalmars-d
On Tue, Jul 21, 2015 at 11:27:01PM +, Tofu Ninja via Digitalmars-d wrote:
 On Tuesday, 21 July 2015 at 23:06:51 UTC, deadalnix wrote:
 Facts are not oppinions. Deal with it.
 
 It is fact that some people found the name TypeTuple confusing,
 nothing else.
 
 You have the opinion that tuple should disqualify the name
 AliasTuple, some clearly dont agree with that.
 
 Why is this getting so toxic, it's just a name...

Sounds like we need to invoke the bikeshedding equivalent of Godwin's
Law, right about now. :-P


T

-- 
Acid falls with the rain; with love comes the pain.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Atila Neves via Digitalmars-d

On Monday, 20 July 2015 at 14:58:34 UTC, Jonathan M Davis wrote:

On Monday, 20 July 2015 at 08:18:46 UTC, Tofu Ninja wrote:

On Saturday, 18 July 2015 at 01:05:20 UTC, Tofu Ninja wrote:
Here is a survey of all suggested names, please vote so we 
can end this with the best name...


http://goo.gl/forms/qls1ZGDCho


Small update, as of right now, there has been 45 responses to 
the survey, with AliasTuple in the lead.


Top 3 average rankings:
AliasTuple   3.16
Aliases  2.82
AliasList2.76


Whatever it means, the answers there don't seem to jive with 
the thread discussing it. In particular, AliasTuple probably 
has the strongest reaction against it out of any of the choices 
which have been seriously considered, based principly on all of 
the problems that we've had in explaining to people what on 
earth a TypeTuple is. The fact that Tuple is in the name has 
caused quite a few problems. So, seeing it on the top is a bit 
surprising. Though I wonder how many of the participants in the 
thread have responded to that, since many seem to just be sick 
of the discussion. More folks have responded to the survey 
though than have participated in the thread though.


- Jonathan M Davis


I suspect that many people, myself included, didn't have anything 
meaningful to add to the thread but still voted. Personally I 
didn't post because I didn't have a better idea for a name and I 
thought the proposed ones were all suboptimal.


Atila




Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Daniel N via Digitalmars-d

On Tuesday, 21 July 2015 at 08:00:40 UTC, Daniel N wrote:

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:

Come on, all people that got into this know how newcomer react
to the Tuple name noticed the same reaction.


No, that highly depends on the background of the newcomer, 
everyone I introduced D to , only found it confusing that it 
was named Type*.


Type* = A construct that powerful it can contain Type:s as well?

Whereas the intuitive meaning would be:

Type* = A construct that is limited to Type:s only.

Before this thread I didn't realize newcomers found the Tuple 
part confusing, I know that's the case now, but after viewing 
the poll, it seems to be a minority. But then again, how many 
newcomers would find Seq confusing, we will never know.


PS Ask yourself, how many of the new proposals contains *Type* ? 
Anyone was free to add such a proposal.


Even with our collective imagination, which spawned creative 
names such as OmniSplat?! Still exactly 0 of the new alternatives 
contained 'Type'. I ask again, which part of the name TypeTuple 
was bad?




Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Daniel N via Digitalmars-d

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:

Come on, all people that got into this know how newcomer react
to the Tuple name noticed the same reaction.


No, that highly depends on the background of the newcomer, 
everyone I introduced D to , only found it confusing that it was 
named Type*.


Type* = A construct that powerful it can contain Type:s as well?

Whereas the intuitive meaning would be:

Type* = A construct that is limited to Type:s only.

Before this thread I didn't realize newcomers found the Tuple 
part confusing, I know that's the case now, but after viewing the 
poll, it seems to be a minority. But then again, how many 
newcomers would find Seq confusing, we will never know.




Re: Wait, what? What is AliasSeq?

2015-07-21 Thread deadalnix via Digitalmars-d
On Monday, 20 July 2015 at 16:54:55 UTC, Andrei Alexandrescu 
wrote:

On 7/20/15 11:54 AM, H. S. Teoh via Digitalmars-d wrote:
Andrei/Walter should just step in and make the final call on 
whatever
lousy name they wish (let's admit it, none of the names are 
any good,
and you ain't gonna please everybody no matter what), and 
let's just

move on.


That's what we did a few times in the past. It did help with 
limiting discussions and revisionist pull requests, but not as 
much as anyone would have liked.


It seems to me that subjecting new names to some community 
scrutiny before freezing them forever is a sensible thing to 
do. The difficulties are finding good definitions for 
community and scrutiny. And some :o). From what I can 
tell:


* For any name considered, there is at least one person who 
strongly believes is an epically bad choice and presents vivid 
anecdotes, similes, and parallels with other languages and 
domains to support that opinion.


* For most names considered, there is at least one person who 
is a strong advocate and is convinced that's by far a better 
choice than all others.


* Whatever choice we make, there's a sort of atmosphere that a 
radically better name is just around the corner and we'll all 
regret having freezing it.


* There's a sort of Warhol effect in that naming discussions 
are massive, therefore they must be important, therefore they 
garner attention, therefore they get more massive.


I had vague hopes some clarity would emerge from opening up the 
process. Sadly this is one of those welcome to the club 
results. What I do hope happens is more appreciation of all 
involved of the difficulty of making decisions and judgment 
calls in matters in which there's no telling right from wrong. 
Please, please, please cut Walter and me some slack in the 
future.


I'll talk to him today in the hope we'll be able to put an end 
to this.



Andrei


Well, this time you did the exact reverse.

Consensus is reached, Andrei step in, we got 20 pages of 
bikesched to end up to square one, at which stage, Walter step in 
and put more coin into the jukebox.


Conclusion had been reached twice, and twice with the same name 
already. I feel like there is a kernel of people that just won't 
accept this, as the poll showed (I did not vote).


At some point, one have to accept that his proposal is not the 
one that will get in. My preference would go for Pack, then 
Splat, then Seq, but at this point I have to admit that the 
community does not share my taste. I expect others here to grow 
up a bit and accept that YOUR proposal is not gold platted, in 
fact, it is kind of shitty like all other proposal here. Deal 
with it.


Some of the proposals do not even make any sense. Come on, all 
people that got into this know how newcomer react to the Tuple 
name noticed the same reaction. Yet, there is a large crow of 
idiots (sorry if you are in that crowd, on that one you ARE an 
idiot) that will send that proposal in again and again. Anyone 
that proposed that name at this point should only be laughed at, 
as it is clearly the manifestation of someone that have not deal 
first hand with the problems of the historical name and is 
serving as a living example of Dunning Kruger.


Unless there is something significantly better then Seq, and that 
there is consensus on that fact it should be changed. I don't 
think any proposal, even the one I would prefer over Seq, match 
that criteria, and I don't think anything else honest here would 
either.


That is exhausting to come back here again and again just to 
argue the same point again and again. This must stop. Everybody 
else has better things to do.


Re: Wait, what? What is AliasSeq?

2015-07-21 Thread Tofu Ninja via Digitalmars-d

On Tuesday, 21 July 2015 at 06:49:10 UTC, deadalnix wrote:


I expect others here to grow up a bit


Yet, there is a large crow of idiots (sorry if you are in that 
crowd, on that one you ARE an idiot)


You trolling right now?


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Tofu Ninja via Digitalmars-d

On Saturday, 18 July 2015 at 01:05:20 UTC, Tofu Ninja wrote:
Here is a survey of all suggested names, please vote so we can 
end this with the best name...


http://goo.gl/forms/qls1ZGDCho


Small update, as of right now, there has been 45 responses to the 
survey, with AliasTuple in the lead.


Top 3 average rankings:
AliasTuple   3.16
Aliases  2.82
AliasList2.76


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Paolo Invernizzi via Digitalmars-d

On Friday, 17 July 2015 at 21:02:51 UTC, Walter Bright wrote:

On 7/15/2015 1:13 AM, Paolo Invernizzi wrote:

On Wednesday, 15 July 2015 at 07:50:46 UTC, Dicebot wrote:

Good to see another bad name merged in master ^_^


Yep, same feeling here


Does this mean that complaining about the names I pick is going 
to die down? :-)


I'm +1 for Aliases!

--
Paolo


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread ixid via Digitalmars-d

On Monday, 20 July 2015 at 08:18:46 UTC, Tofu Ninja wrote:

On Saturday, 18 July 2015 at 01:05:20 UTC, Tofu Ninja wrote:
Here is a survey of all suggested names, please vote so we can 
end this with the best name...


http://goo.gl/forms/qls1ZGDCho


Small update, as of right now, there has been 45 responses to 
the survey, with AliasTuple in the lead.


Top 3 average rankings:
AliasTuple   3.16
Aliases  2.82
AliasList2.76


This is an excellent approach to bike-shedding. Is it appropriate 
now to ask people who object to AliasTuple to put those 
objections forward (specific problems with AliasTuple rather than 
'my name is better) and otherwise go forward with the term?


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Andrei Alexandrescu via Digitalmars-d

On 7/20/15 4:18 AM, Tofu Ninja wrote:

On Saturday, 18 July 2015 at 01:05:20 UTC, Tofu Ninja wrote:

Here is a survey of all suggested names, please vote so we can end
this with the best name...

http://goo.gl/forms/qls1ZGDCho


Small update, as of right now, there has been 45 responses to the
survey, with AliasTuple in the lead.

Top 3 average rankings:
AliasTuple   3.16
Aliases  2.82
AliasList2.76


Heh, interesting. (I didn't vote in order to avoid influencing things, 
not that 1/45.0 matters that much.)


Where is AliasSeq?


Andrei


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread wobbles via Digitalmars-d
On Monday, 20 July 2015 at 13:09:06 UTC, Andrei Alexandrescu 
wrote:

On 7/20/15 4:18 AM, Tofu Ninja wrote:

On Saturday, 18 July 2015 at 01:05:20 UTC, Tofu Ninja wrote:
Here is a survey of all suggested names, please vote so we 
can end

this with the best name...

http://goo.gl/forms/qls1ZGDCho


Small update, as of right now, there has been 45 responses to 
the

survey, with AliasTuple in the lead.

Top 3 average rankings:
AliasTuple   3.16
Aliases  2.82
AliasList2.76


Heh, interesting. (I didn't vote in order to avoid influencing 
things, not that 1/45.0 matters that much.)


Where is AliasSeq?


Andrei


It's currently in 5th place on 2.38.

Full stats: 
https://docs.google.com/spreadsheets/d/1sFLQAYnI2Xx5CPrf9KXbuxUfdHPewyo67Y1Sb0Z8p5M/pubchart?oid=2030278607format=interactive


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Tofu Ninja via Digitalmars-d
On Monday, 20 July 2015 at 13:09:06 UTC, Andrei Alexandrescu 
wrote:

On 7/20/15 4:18 AM, Tofu Ninja wrote:

On Saturday, 18 July 2015 at 01:05:20 UTC, Tofu Ninja wrote:
Here is a survey of all suggested names, please vote so we 
can end

this with the best name...

http://goo.gl/forms/qls1ZGDCho


Small update, as of right now, there has been 45 responses to 
the

survey, with AliasTuple in the lead.

Top 3 average rankings:
AliasTuple   3.16
Aliases  2.82
AliasList2.76


Heh, interesting. (I didn't vote in order to avoid influencing 
things, not that 1/45.0 matters that much.)


Where is AliasSeq?


Andrei


2.38

You can see all the current results here, hover over a bar to see 
exact numbers

https://docs.google.com/spreadsheets/d/1sFLQAYnI2Xx5CPrf9KXbuxUfdHPewyo67Y1Sb0Z8p5M/pubchart?oid=2030278607format=interactive


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Jonathan M Davis via Digitalmars-d

On Monday, 20 July 2015 at 08:18:46 UTC, Tofu Ninja wrote:

On Saturday, 18 July 2015 at 01:05:20 UTC, Tofu Ninja wrote:
Here is a survey of all suggested names, please vote so we can 
end this with the best name...


http://goo.gl/forms/qls1ZGDCho


Small update, as of right now, there has been 45 responses to 
the survey, with AliasTuple in the lead.


Top 3 average rankings:
AliasTuple   3.16
Aliases  2.82
AliasList2.76


Whatever it means, the answers there don't seem to jive with the 
thread discussing it. In particular, AliasTuple probably has the 
strongest reaction against it out of any of the choices which 
have been seriously considered, based principly on all of the 
problems that we've had in explaining to people what on earth a 
TypeTuple is. The fact that Tuple is in the name has caused quite 
a few problems. So, seeing it on the top is a bit surprising. 
Though I wonder how many of the participants in the thread have 
responded to that, since many seem to just be sick of the 
discussion. More folks have responded to the survey though than 
have participated in the thread though.


- Jonathan M Davis


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Tofu Ninja via Digitalmars-d

On Monday, 20 July 2015 at 16:26:36 UTC, David Nadlinger wrote:

On Monday, 20 July 2015 at 15:33:17 UTC, Tofu Ninja wrote:
The ones against a name are vocal in the thread, the ones who 
don't mind it or like it tend to not be as vocal. The thread 
is not a good representation of what people like.


Neither is a superficial popularity contest a suitable 
indicator for good language design.


Didn't really claim that, just wanted to point out why the most 
popular names might not be obvious from the thread. I didn't mean 
to imply that the most popular = the best.


For example, there are substantial concerns regarding the 
teachability of names ending in Tuple. While these are (by 
necessity) only bcked by anecdotal evidence, several people 
made these observations when helping beginners. It would be 
foolish to ignore the experience we gained from the past in 
favor of an impromptu straw poll.


 — David


It's already been pointed out that there is no obvious good name, 
just less bad names. While the most popular name has problems, so 
do all the others. At least we know now what is the most popular 
and Walter and Andrei can take that into account, and hopefully 
make deciding the best name a bit easier.


All arguments have been repeated... Just let Walter and Andrei 
decide and end this...


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread David Nadlinger via Digitalmars-d

On Monday, 20 July 2015 at 15:33:17 UTC, Tofu Ninja wrote:
The ones against a name are vocal in the thread, the ones who 
don't mind it or like it tend to not be as vocal. The thread is 
not a good representation of what people like.


Neither is a superficial popularity contest a suitable indicator 
for good language design.


For example, there are substantial concerns regarding the 
teachability of names ending in Tuple. While these are (by 
necessity) only backed by anecdotal evidence, several people made 
these observations when helping beginners. It would be foolish to 
ignore the experience we gained from the past in favor of an 
impromptu straw poll.


 — David


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Andrei Alexandrescu via Digitalmars-d

On 7/20/15 11:54 AM, H. S. Teoh via Digitalmars-d wrote:

Andrei/Walter should just step in and make the final call on whatever
lousy name they wish (let's admit it, none of the names are any good,
and you ain't gonna please everybody no matter what), and let's just
move on.


That's what we did a few times in the past. It did help with limiting 
discussions and revisionist pull requests, but not as much as anyone 
would have liked.


It seems to me that subjecting new names to some community scrutiny 
before freezing them forever is a sensible thing to do. The difficulties 
are finding good definitions for community and scrutiny. And some 
:o). From what I can tell:


* For any name considered, there is at least one person who strongly 
believes is an epically bad choice and presents vivid anecdotes, 
similes, and parallels with other languages and domains to support that 
opinion.


* For most names considered, there is at least one person who is a 
strong advocate and is convinced that's by far a better choice than all 
others.


* Whatever choice we make, there's a sort of atmosphere that a radically 
better name is just around the corner and we'll all regret having 
freezing it.


* There's a sort of Warhol effect in that naming discussions are 
massive, therefore they must be important, therefore they garner 
attention, therefore they get more massive.


I had vague hopes some clarity would emerge from opening up the process. 
Sadly this is one of those welcome to the club results. What I do hope 
happens is more appreciation of all involved of the difficulty of making 
decisions and judgment calls in matters in which there's no telling 
right from wrong. Please, please, please cut Walter and me some slack in 
the future.


I'll talk to him today in the hope we'll be able to put an end to this.


Andrei


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread H. S. Teoh via Digitalmars-d
On Mon, Jul 20, 2015 at 03:33:14PM +, Tofu Ninja via Digitalmars-d wrote:
 On Monday, 20 July 2015 at 14:58:34 UTC, Jonathan M Davis wrote:
 Whatever it means, the answers there don't seem to jive with the
 thread discussing it. In particular, AliasTuple probably has the
 strongest reaction against it out of any of the choices which have
 been seriously considered, based principly on all of the problems
 that we've had in explaining to people what on earth a TypeTuple is.
 The fact that Tuple is in the name has caused quite a few problems.
 So, seeing it on the top is a bit surprising. Though I wonder how
 many of the participants in the thread have responded to that, since
 many seem to just be sick of the discussion.  More folks have
 responded to the survey though than have participated in the thread
 though.
 
 - Jonathan M Davis
 
 The ones against a name are vocal in the thread, the ones who don't
 mind it or like it tend to not be as vocal. The thread is not a good
 representation of what people like.

And there's also people like me, who have grown so sick and tired of
this endless bikeshedding (in spite of arriving at some sort of
consensus multiple times, only to be interrupted by Yet More
Proposals), that we simply don't even care to respond anymore, we just
want this thread to please just stop. At this point, even if we were to
name this thing AliasQwfdJskCmfpz, I would be OK with it, as long as
I don't see any more posts on this tiresome topic.

All of this energy could have been far more productively spent elsewhere
-- like improving the docs, or fixing the flood of new bugs on Bugzilla
where it has far more impact -- and yet here we are, prolonging this one
with no end in sight.

Andrei/Walter should just step in and make the final call on whatever
lousy name they wish (let's admit it, none of the names are any good,
and you ain't gonna please everybody no matter what), and let's just
move on.


T

-- 
your inconsistency is the only consistent thing about you! -- kd


Re: Wait, what? What is AliasSeq?

2015-07-20 Thread Tofu Ninja via Digitalmars-d

On Monday, 20 July 2015 at 14:58:34 UTC, Jonathan M Davis wrote:
Whatever it means, the answers there don't seem to jive with 
the thread discussing it. In particular, AliasTuple probably 
has the strongest reaction against it out of any of the choices 
which have been seriously considered, based principly on all of 
the problems that we've had in explaining to people what on 
earth a TypeTuple is. The fact that Tuple is in the name has 
caused quite a few problems. So, seeing it on the top is a bit 
surprising. Though I wonder how many of the participants in the 
thread have responded to that, since many seem to just be sick 
of the discussion. More folks have responded to the survey 
though than have participated in the thread though.


- Jonathan M Davis


The ones against a name are vocal in the thread, the ones who 
don't mind it or like it tend to not be as vocal. The thread is 
not a good representation of what people like.


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread Xiaoxi via Digitalmars-d
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with 
Aliases with an extra umph that the BDFL favors it. -- Andrei


+1


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread Yazan D via Digitalmars-d
On Fri, 17 Jul 2015 21:32:59 -0400, Andrei Alexandrescu wrote:

 On 7/17/15 8:20 PM, Mike wrote:
 On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:

 Should just be Aliases.

 I'd be happy to do the pull request if you wish.
 
 Let's get the +1s on this - please reply. I'm fine with Aliases with
 an extra umph that the BDFL favors it. -- Andrei

+1


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread Daniel N via Digitalmars-d
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with 
Aliases with an extra umph that the BDFL favors it. -- Andrei


+1


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread Piotrek via Digitalmars-d
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with 
Aliases with an extra umph that the BDFL favors it. -- Andrei


+1

The code would be just better to read and write with Aliases.
To some extent I understand confusion point raised by others. 
However I not sure if it's overexaggerating.


Piotrek


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread via Digitalmars-d
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with 
Aliases with an extra umph that the BDFL favors it. -- Andrei


+1


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread via Digitalmars-d

On Saturday, 18 July 2015 at 02:07:42 UTC, Brad Anderson wrote:
(I haven't read any of this thread because I'm exhausted with 
this topic so just ignore me if you guys have already rehashed 
and dismissed Seq. I don't care enough about the outcome 
anymore to fight for it.)


It has been dismissed for semantic reasons... people just gloss 
over it.


Seq is a term that is used in formal specification in CS that 
usually means sequence-of-values-with-type(X). Sequence-of-ints, 
sequence-of-chars…


In general usage, sequence usually implies a series of values 
where distance/order is important for interpretation: 
DNA-sequence, Fibonacci-sequence, instruction-sequence, 
animation-sequence, sequences in music scores (time series in 
general), the output of generators (recurrence relations etc), 
etc.




Re: Wait, what? What is AliasSeq?

2015-07-18 Thread John Colvin via Digitalmars-d

On Saturday, 18 July 2015 at 01:44:27 UTC, Jonathan M Davis wrote:
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

[...]


_Please_ no. It'll just make it extra confusing whether you're 
talking about what was TypeTuple or just aliases in general. 
That's why I've never liked the name Array for std.container. 
You always have to be extra careful when talking about it to 
make it clear what you mean, and if you're actually talking 
instead of writing, it's that much worse. And honestly, I 
wouldn't expect a type to have a name which was plural, and I'd 
expect the fact that it's plural would just increase the 
confusion. And TypeTuple, AliasSeq, whatever is already 
confusing enough as a concept without naming it something that 
adds confusion on its own.


- Jonathan M Davis


Yup.


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread deadalnix via Digitalmars-d

On Friday, 17 July 2015 at 20:59:41 UTC, H. S. Teoh wrote:
On Fri, Jul 17, 2015 at 01:54:31PM -0700, Walter Bright via 
Digitalmars-d wrote:

On 7/7/2015 2:16 PM, Andrei Alexandrescu wrote:
So I thought we were supposed to replace bad names with good 
names. Template arguments are indexable, so sequence 
doesn't quite apply.


What happened? Why are we replacing a crappy term with 
another crappy term?


Should just be Aliases. I recall that my naming of 
setExt() was universally panned for using an abbreviation. 
Aliases doesn't carry any baggage about how it might be 
accessed.


Wow, the bikeshedding truly never ends!


T


+1 , can we stop inserting coins in that machine every time it 
reach some kind of stable point (especially when this stable 
point is the same twice in a row ?)


Re: Wait, what? What is AliasSeq?

2015-07-18 Thread deadalnix via Digitalmars-d
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with 
Aliases with an extra umph that the BDFL favors it. -- Andrei


No it makes any oral discussion about it impossible to 
understand, as well as a good chunk of the spec.





Re: Wait, what? What is AliasSeq?

2015-07-18 Thread deadalnix via Digitalmars-d

On Saturday, 18 July 2015 at 02:36:59 UTC, Sebastiaan Koppe wrote:
On Saturday, 18 July 2015 at 01:35:03 UTC, Jonathan M Davis 
wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases


Then you have the confusion about whether you're talking about 
the replacement of TypeTuple or just aliases in general - 
especially if verbal conversation. AliasSeq won't be confused 
with anything.


- Jonathan M Davis


I cannot think of one sentence that doesn't disambiguate.


Try changing the doc using it. Yes, if you think about it hard 
enough, you'll be able to figure out which is which, but overall, 
that makes the thing much harder ot read.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 23:54:30 UTC, Mike wrote:
On Thursday, 16 July 2015 at 15:50:15 UTC, Andrei Alexandrescu 
wrote:

On 7/15/15 8:49 PM, Mike wrote:
1. AliasSeq is no good as evident from the first post that 
started

this thread


I am egging my face for starting this. Can we please return to 
AliasSeq? -- Andrei


https://github.com/D-Programming-Language/phobos/pull/3498


Please don't cry, there are so many other bad names in the 
eco-system already. Nobody will notice… unless they have a CS 
degree.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Deadalnix via Digitalmars-d
On Thursday, 16 July 2015 at 15:50:15 UTC, Andrei Alexandrescu 
wrote:

On 7/15/15 8:49 PM, Mike wrote:
1. AliasSeq is no good as evident from the first post that 
started

this thread


I am egging my face for starting this. Can we please return to 
AliasSeq? -- Andrei


I'm good with that. As said, not my #1 choice, but good enough.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread via Digitalmars-d
On Thursday, 16 July 2015 at 15:50:15 UTC, Andrei Alexandrescu 
wrote:

On 7/15/15 8:49 PM, Mike wrote:
1. AliasSeq is no good as evident from the first post that 
started

this thread


I am egging my face for starting this. Can we please return to 
AliasSeq? -- Andrei


What about the Pack name? There was considerable support for it, 
and at least in this thread I haven't seen anyone opposing it.


(And from my POV, *Seq is really the worst of all choices, as it 
has connotations in everyday language and other uses in 
mathematics that don't match TypeTuples at all, so I'm strongly 
opposed to it.)


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Daniel N via Digitalmars-d

On Friday, 17 July 2015 at 08:57:26 UTC, Marc Schütz wrote:
On Thursday, 16 July 2015 at 15:50:15 UTC, Andrei Alexandrescu 
wrote:

On 7/15/15 8:49 PM, Mike wrote:
1. AliasSeq is no good as evident from the first post that 
started

this thread


I am egging my face for starting this. Can we please return to 
AliasSeq? -- Andrei


What about the Pack name? There was considerable support for 
it, and at least in this thread I haven't seen anyone opposing 
it.


(And from my POV, *Seq is really the worst of all choices, as 
it has connotations in everyday language and other uses in 
mathematics that don't match TypeTuples at all, so I'm strongly 
opposed to it.)


FWIW

Pack  Seq



Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Dmitry Olshansky via Digitalmars-d

On 17-Jul-2015 12:52, Matthias Bentrup wrote:

On Friday, 17 July 2015 at 09:13:13 UTC, Daniel N wrote:

On Friday, 17 July 2015 at 08:57:26 UTC, Marc Schütz wrote:

On Thursday, 16 July 2015 at 15:50:15 UTC, Andrei Alexandrescu wrote:

On 7/15/15 8:49 PM, Mike wrote:

1. AliasSeq is no good as evident from the first post that started
this thread


I am egging my face for starting this. Can we please return to
AliasSeq? -- Andrei


What about the Pack name? There was considerable support for it, and
at least in this thread I haven't seen anyone opposing it.

(And from my POV, *Seq is really the worst of all choices, as it has
connotations in everyday language and other uses in mathematics that
don't match TypeTuples at all, so I'm strongly opposed to it.)


FWIW

Pack  Seq


Sack (a compromise between Seq and Pack)


Ransack must be the first algorithm on AliasSack ;)

--
Dmitry Olshansky


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread via Digitalmars-d

On Friday, 17 July 2015 at 10:15:05 UTC, Martin Nowak wrote:

On Friday, 17 July 2015 at 00:08:42 UTC, Tofu Ninja wrote:

Well this was 214 replies of wasted time...


Just b/c the outcome is the same doesn't mean the discussion 
was pointless.
We reached at least some sort of consensus which should prevent 
any future complaints about the chosen name.


No, you did not reach consensus, and there will be future 
complaints about the terminology used in D (unless the language 
dies). If you pick inconsistent terminology that breaks 
established usage, people will complain…


So it was wasted time. And more time will be wasted the same way, 
due to a lack of process.


If you want consistency you need 2-4 people who know the field 
really well and reach actual consensus. When too many people who 
don't know the field really well are involved you get bastardized 
syntax.


The vocabulary should not be defined name by name, function by 
function. It should be, you know, an index that you can 
reference. So a set is a set, a sequence is a sequence, and array 
an array, a list a list, a linked-list a linked-list and so on.


A well designed language has a small vocabulary with not much 
overlap and expressiveness grow out of it. That way you don't 
have to memorize so much.


If you need to read the docs to deduce what goes on in a function 
then it isn't good enough. Which is why constructs with weird 
behaviour should have longer descriptive names.


In this case, you wanted a short unique name to describe weird 
behaviour. That's going to make code hard to read.




Re: Wait, what? What is AliasSeq?

2015-07-17 Thread wobbles via Digitalmars-d

On Friday, 17 July 2015 at 10:15:05 UTC, Martin Nowak wrote:

On Friday, 17 July 2015 at 00:08:42 UTC, Tofu Ninja wrote:

Well this was 214 replies of wasted time...


Just b/c the outcome is the same doesn't mean the discussion 
was pointless.
We reached at least some sort of consensus which should prevent 
any future complaints about the chosen name.


On that, perhaps this conversation should be linked to in the 
wiki before it gets buried? So any complains/questions may be 
directed here?


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Matthias Bentrup via Digitalmars-d

On Friday, 17 July 2015 at 09:13:13 UTC, Daniel N wrote:

On Friday, 17 July 2015 at 08:57:26 UTC, Marc Schütz wrote:
On Thursday, 16 July 2015 at 15:50:15 UTC, Andrei Alexandrescu 
wrote:

On 7/15/15 8:49 PM, Mike wrote:
1. AliasSeq is no good as evident from the first post that 
started

this thread


I am egging my face for starting this. Can we please return 
to AliasSeq? -- Andrei


What about the Pack name? There was considerable support for 
it, and at least in this thread I haven't seen anyone opposing 
it.


(And from my POV, *Seq is really the worst of all choices, as 
it has connotations in everyday language and other uses in 
mathematics that don't match TypeTuples at all, so I'm 
strongly opposed to it.)


FWIW

Pack  Seq


Sack (a compromise between Seq and Pack)



Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Martin Nowak via Digitalmars-d

On Friday, 17 July 2015 at 00:08:42 UTC, Tofu Ninja wrote:

Well this was 214 replies of wasted time...


Just b/c the outcome is the same doesn't mean the discussion was 
pointless.
We reached at least some sort of consensus which should prevent 
any future complaints about the chosen name.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Andrei Alexandrescu via Digitalmars-d

On 7/16/15 8:08 PM, Tofu Ninja wrote:

On Thursday, 16 July 2015 at 23:54:30 UTC, Mike wrote:

On Thursday, 16 July 2015 at 15:50:15 UTC, Andrei Alexandrescu wrote:

On 7/15/15 8:49 PM, Mike wrote:

1. AliasSeq is no good as evident from the first post that started
this thread


I am egging my face for starting this. Can we please return to
AliasSeq? -- Andrei


https://github.com/D-Programming-Language/phobos/pull/3498


Well this was 214 replies of wasted time...


That's right, and I'm at fault. Apologies to all. -- Andrei


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread deadalnix via Digitalmars-d

On Wednesday, 15 July 2015 at 21:44:37 UTC, Timon Gehr wrote:

On 07/15/2015 05:35 PM, Dicebot wrote:
On Wednesday, 15 July 2015 at 15:29:25 UTC, Andrei 
Alexandrescu wrote:
It doesn't confuse me. We have type tuples and expression 
tuples defined
in the spec. An alias tuple can have both expressions and 
types. It's
not that confusing. What was confusing is that a TypeTuple 
was not a

type tuple as defined in the spec.


I agree.

Andrei


I want to point out that statement an alias tuple can have 
both
expressions and types is somewhat between imprecise and just 
wrong with
current compiler implementation. `X!(42, int, foo)` doesn't 
hold aliases
to value, type and symbol (assuming X(T...)) - it does hold 
actual value
and type, with only symbol being aliased. Actual alias tuple 
would be
defined as `X(alias a, alias b, alias c)` and is somewhat 
different thing.


You may want to ignore that difference for simplicity sake but 
it needs

to be explicitly acknowledged.


It should instead be acknowledged that there /should/ be no 
difference in what three things can be passed to X(T...) and 
X(alias a, alias b, alias c). The X(T...) if(T.length==k) 
pattern is ridiculous.


I can't agree more.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Sebastiaan Koppe via Digitalmars-d

On Saturday, 18 July 2015 at 01:35:03 UTC, Jonathan M Davis wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases


Then you have the confusion about whether you're talking about 
the replacement of TypeTuple or just aliases in general - 
especially if verbal conversation. AliasSeq won't be confused 
with anything.


- Jonathan M Davis


I cannot think of one sentence that doesn't disambiguate.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Brad Anderson via Digitalmars-d

On Saturday, 18 July 2015 at 01:35:03 UTC, Jonathan M Davis wrote:
Then you have the confusion about whether you're talking about 
the replacement of TypeTuple or just aliases in general - 
especially if verbal conversation. AliasSeq won't be confused 
with anything.


- Jonathan M Davis


That's the beauty of it and why, years ago when having yet 
another conversation about renaming TypeTuple, I was highly in 
favor of the name Timon (if memory serves) had been using for 
awhile: Seq. The long, long conversations have shown that there's 
no simple combination of words that describes it well so a 
neologism is the best possible option if you want to avoid 
confusion.


You could argue that a new word is harder for beginners but I'd 
argue that using existing words in a way that doesn't actually 
describe it accurately or precisely is far worse. TypeTuple 
confused me greatly as a beginner. In this very NG archive you 
can find me suggesting, to my embarrassment, the name Type List 
as a replacement because I thought I understood what it was. The 
flood of disagreements is what finally made me dig in and 
understand it. While I think AliasSeq is better, it's not much 
better and suffers from the unrelated baggage that comes with 
Alias so I still think Seq is better than AliasSeq.


(I haven't read any of this thread because I'm exhausted with 
this topic so just ignore me if you guys have already rehashed 
and dismissed Seq. I don't care enough about the outcome anymore 
to fight for it.)


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Walter Bright via Digitalmars-d

On 7/7/2015 2:16 PM, Andrei Alexandrescu wrote:

So I thought we were supposed to replace bad names with good names. Template
arguments are indexable, so sequence doesn't quite apply.

What happened? Why are we replacing a crappy term with another crappy term?


Should just be Aliases. I recall that my naming of setExt() was universally 
panned for using an abbreviation. Aliases doesn't carry any baggage about how 
it might be accessed.




Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Mike via Digitalmars-d

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.






Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Tofu Ninja via Digitalmars-d

On Saturday, 18 July 2015 at 00:20:23 UTC, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Please no, Aliases is one of the worst names in the thread.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Tofu Ninja via Digitalmars-d
Here is a survey of all suggested names, please vote so we can 
end this with the best name...


http://goo.gl/forms/qls1ZGDCho


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Jonathan M Davis via Digitalmars-d
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with 
Aliases with an extra umph that the BDFL favors it. -- Andrei


_Please_ no. It'll just make it extra confusing whether you're 
talking about what was TypeTuple or just aliases in general. 
That's why I've never liked the name Array for std.container. You 
always have to be extra careful when talking about it to make it 
clear what you mean, and if you're actually talking instead of 
writing, it's that much worse. And honestly, I wouldn't expect a 
type to have a name which was plural, and I'd expect the fact 
that it's plural would just increase the confusion. And 
TypeTuple, AliasSeq, whatever is already confusing enough as a 
concept without naming it something that adds confusion on its 
own.


- Jonathan M Davis


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread H. S. Teoh via Digitalmars-d
On Fri, Jul 17, 2015 at 01:54:31PM -0700, Walter Bright via Digitalmars-d wrote:
 On 7/7/2015 2:16 PM, Andrei Alexandrescu wrote:
 So I thought we were supposed to replace bad names with good names.
 Template arguments are indexable, so sequence doesn't quite apply.
 
 What happened? Why are we replacing a crappy term with another crappy
 term?
 
 Should just be Aliases. I recall that my naming of setExt() was
 universally panned for using an abbreviation. Aliases doesn't carry
 any baggage about how it might be accessed.

Wow, the bikeshedding truly never ends!


T

-- 
Дерево держится корнями, а человек - друзьями.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Walter Bright via Digitalmars-d

On 7/15/2015 1:13 AM, Paolo Invernizzi wrote:

On Wednesday, 15 July 2015 at 07:50:46 UTC, Dicebot wrote:

Good to see another bad name merged in master ^_^


Yep, same feeling here


Does this mean that complaining about the names I pick is going to die down? :-)



Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Andrei Alexandrescu via Digitalmars-d

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with Aliases with 
an extra umph that the BDFL favors it. -- Andrei




Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Mike via Digitalmars-d
On Saturday, 18 July 2015 at 01:32:45 UTC, Andrei Alexandrescu 
wrote:

On 7/17/15 8:20 PM, Mike wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:


Should just be Aliases.


I'd be happy to do the pull request if you wish.


Let's get the +1s on this - please reply. I'm fine with 
Aliases with an extra umph that the BDFL favors it. -- Andrei


+1


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Vladimir Panteleev via Digitalmars-d

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:
I recall that my naming of setExt() was universally panned 
for using an abbreviation.


No, it was because the abbreviation was the sole distinction from 
another function's name.


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Jonathan M Davis via Digitalmars-d

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:

On 7/7/2015 2:16 PM, Andrei Alexandrescu wrote:
So I thought we were supposed to replace bad names with good 
names. Template

arguments are indexable, so sequence doesn't quite apply.

What happened? Why are we replacing a crappy term with another 
crappy term?


Should just be Aliases. I recall that my naming of setExt() 
was universally panned for using an abbreviation. Aliases 
doesn't carry any baggage about how it might be accessed.


Then you have the confusion about whether you're talking about 
the replacement of TypeTuple or just aliases in general - 
especially if verbal conversation. AliasSeq won't be confused 
with anything.


- Jonathan M Davis


Re: Wait, what? What is AliasSeq?

2015-07-17 Thread Jonathan M Davis via Digitalmars-d

On Friday, 17 July 2015 at 21:22:00 UTC, Vladimir Panteleev wrote:

On Friday, 17 July 2015 at 20:54:33 UTC, Walter Bright wrote:
I recall that my naming of setExt() was universally panned 
for using an abbreviation.


No, it was because the abbreviation was the sole distinction 
from another function's name.


Yeah. As long as abbreviations are reasonably clear they're 
actually a _good_ thing because they reduce code length without 
losing clarity. When you have multiword symbol names, they get 
ugly _really_ fast if you don't abbreviate. It's one of the 
things that tends to make Java code ugly; they frequently have 
overly long names because they don't abbreviate.


- Jonathan M Davis


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread David Nadlinger via Digitalmars-d
On Thursday, 16 July 2015 at 16:13:46 UTC, Andrei Alexandrescu 
wrote:

On 7/16/15 11:59 AM, H. S. Teoh via Digitalmars-d wrote:
On Thu, Jul 16, 2015 at 11:50:25AM -0400, Andrei Alexandrescu 
via Digitalmars-d wrote:

On 7/15/15 8:49 PM, Mike wrote:
1. AliasSeq is no good as evident from the first post that 
started

this thread


I am egging my face for starting this. Can we please return to
AliasSeq? -- Andrei


Yes, let's please return to AliasSeq. It's a pretty lousy 
name, but all
the alternatives are even worse. Let's not fix the problem by 
making it

worse.


WE HAVE CONSENSUS! :o)

(Well... anyone else in favor?)


Yes, me. ;)

 — David


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 17:10:57 UTC, Deadalnix wrote:
On Thursday, 16 July 2015 at 05:44:29 UTC, Ola Fosheim Grøstad 
wrote:

Oh, here is one more term you can consider:

AliasPack

In Python splatting is called unpacking (splat refers to 
the visual impression of the * operator and is 
inappropriate).


C++ also have related use of the word pack:

http://en.cppreference.com/w/cpp/language/parameter_pack

So in C++ all of the terms list, sequence and pack can 
be used about parameter lists… but list is the general term: 
argument list, parameter list, initializer list etc…


Pack was my first choice, but it did seem to stick amongst the 
community when I asked around. I'd be happy with pack.


FWIW, just like Nat often is used to denote natural numbers, 
Seq is often used in formalizations of sequences, e.g. stuff 
that falls under this definition:


https://en.wikipedia.org/wiki/Sequence#Formal_definition

So AliasSeq is counter-intuitive to me, it does not fit with 
any use of the term Seq I have been in touch with...


Basically, to me Seq represent series of values, not 
configurations.




Re: Wait, what? What is AliasSeq?

2015-07-16 Thread David Nadlinger via Digitalmars-d

On Thursday, 16 July 2015 at 17:39:13 UTC, David Nadlinger wrote:

Yes, me. ;)


(I should note that this is mainly because I'd really rather not 
have Tuple in the name because of first-hand experience in 
teaching beginners both on IRC and in person. And AliasSeq seems 
like the most likely candidate for this right now. I personally 
like Seq quite a bit too, but I'd rather not join that 
bikeshedding debate. —David)


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 21:44:13 UTC, Timon Gehr wrote:
On 07/16/2015 07:35 AM, Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
ola.fosheim.grostad+dl...@gmail.com wrote:

[...]
But I think sequence implies that everything has the same 
type...




That common type is 'alias'. :-)


*cringe*



Re: Wait, what? What is AliasSeq?

2015-07-16 Thread Jacob Carlborg via Digitalmars-d

On 2015-07-15 23:44, Timon Gehr wrote:


It should instead be acknowledged that there /should/ be no difference
in what three things can be passed to X(T...) and X(alias a, alias b,
alias c). The X(T...) if(T.length==k) pattern is ridiculous.


I completely agree.

--
/Jacob Carlborg


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread Jacob Carlborg via Digitalmars-d

On 2015-07-07 23:16, Andrei Alexandrescu wrote:

So I thought we were supposed to replace bad names with good names.
Template arguments are indexable, so sequence doesn't quite apply.

What happened? Why are we replacing a crappy term with another crappy term?


How about Bag or AliasBag?

--
/Jacob Carlborg


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d
On Thursday, 16 July 2015 at 05:55:01 UTC, Ola Fosheim Grøstad 
wrote:

On Thursday, 16 July 2015 at 05:51:01 UTC, Mike wrote:

Sound familiar?  I propose simply Pack.


Or AliasListPack, AliasPackList, PackedAliasList…


Or would it be UnpackingAliasList or UnpackedAliasList? Oh… 
Headaches…




Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 05:51:01 UTC, Mike wrote:
On Thursday, 16 July 2015 at 05:44:29 UTC, Ola Fosheim Grøstad 
wrote:




C++ also have related use of the word pack:

http://en.cppreference.com/w/cpp/language/parameter_pack



Nice!  From the description:

A template parameter pack is a template parameter that accepts 
zero or more template arguments (non-types, types, or 
templates). A function parameter pack is a function parameter 
that accepts zero or more function arguments.


A template with at least one parameter pack is called a 
variadic template.


Sound familiar?  I propose simply Pack.



Only that it is in fact an UnPack...


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 08:00:43 UTC, Marc Schütz wrote:

Maybe auto-flattening is a better name for this behaviour?


flattening: concatenating all the children recursively.

argument unpacking/expansion: filling in the actual parameters

Anyway, auto-flattening is undesirable as it makes the language 
more weakly typed and hides what goes on. And it gets in the way 
for structural pattern matching. But those issues are off-topic, 
I guess.




Re: Wait, what? What is AliasSeq?

2015-07-16 Thread Jacob Carlborg via Digitalmars-d
On 2015-07-16 10:00, Marc =?UTF-8?B?U2Now7x0eiI=?= schue...@gmx.net 
wrote:



What I meant is that there is no equivalent to the behaviour of TypeTuples:

 assert(is(TypeTuple!(int, float, TypeTuple!(string, int)) ==
   TypeTuple!(int, float, string, int));
 TypeTuple!(int, int) a;
 a[0] = 1; a[1] = 2;
 void foo(int, int);
 foo(a); // works

But not in Ruby:

 [1, 2, [3, 4]] != [1, 2, 3, 4]
 def foo a, b ; end
 foo([1, 2]);  // doesn't work
 foo(*[1, 2]); // but works with splat operator

Maybe auto-flattening is a better name for this behaviour?

My point is that there is no type in Ruby that is inherently splatty,
rather it's the operator that produces this behaviour. Therefore,
splat is not used as a noun to signify such a type.


I see what you mean now.

--
/Jacob Carlborg


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread Dicebot via Digitalmars-d

On Wednesday, 15 July 2015 at 21:44:37 UTC, Timon Gehr wrote:
It should instead be acknowledged that there /should/ be no 
difference in what three things can be passed to X(T...) and 
X(alias a, alias b, alias c). The X(T...) if(T.length==k) 
pattern is ridiculous.


I am all for that but it needs to be explicitly acknowledged and 
implemented together with a rename.


Re: Wait, what? What is AliasSeq? - `Pack` Proposal

2015-07-16 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 07:30:19 UTC, Mike wrote:
I know Ola is making light of this situation and many of you 
find this discussion beneath you, but we need a name, and with 
the release looming we need it relatively soon.


Naming is difficult, but list and pack (alluding to 
unpacking) are the most accurate terms.


But you need a general term that covers both types and 
values/expressions... I don't know of one. alias is not an 
abstraction but more like an action that binds something. Maybe 
something like mixed…


Just Pack would be confusing... Sounds like a verb and I 
wouldn't understand it without looking it up in the docs. You 
need a word before pack.


These I would be able to infer from context:

MixedList
CompileTimeList
CTList
AliasList
AliasPack
ParamPack
ArgPack
Parameters
Arguments

Given that that D has its roots in C++ and this construct is 
similar to the one in question, it seems like a good fit.


Yes, if C++ integration is going to big thing for D, it sounds 
reasonable to use similar terminology. Searching on 
cppreference.com is useful.




Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 08:00:43 UTC, Marc Schütz wrote:
My point is that there is no type in Ruby that is inherently 
splatty, rather it's the operator that produces this 
behaviour. Therefore, splat is not used as a noun to signify 
such a type.


Yes, please forget about the tongue-in-cheek slang-term splat.  
That's for kids!


splat is just slang for asterisk-something:

https://en.wikipedia.org/wiki/Asterisk

«In Commodore (and related) filesystems, an asterisk appearing 
next to a filename in a directory listing denotes an improperly 
closed file, commonly called a splat file.»


«Certain categories of character types in role-playing games are 
called splats, and the game supplements describing them are 
called splatbooks. This usage originated with the shorthand 
*book for this type of supplement[…]»


«In many MUDs and MOOs, as well as male, female, and other 
more esoteric genders, there is a gender called splat, which 
uses an asterisk to replace the letters that differ in standard 
English gender pronouns. For example, h* is used rather than him 
or her.»


You might as well call it AliasGoo.



Re: Wait, what? What is AliasSeq?

2015-07-16 Thread Adrian Matoga via Digitalmars-d

On Thursday, 16 July 2015 at 05:51:01 UTC, Mike wrote:

A template parameter pack is a template parameter that accepts 
zero or more template arguments (non-types, types, or 
templates). A function parameter pack is a function parameter 
that accepts zero or more function arguments.


A template with at least one parameter pack is called a 
variadic template.


Sound familiar?  I propose simply Pack.


+ 1




Re: Wait, what? What is AliasSeq?

2015-07-16 Thread Adrian Matoga via Digitalmars-d

On Wednesday, 15 July 2015 at 21:44:37 UTC, Timon Gehr wrote:
It should instead be acknowledged that there /should/ be no 
difference in what three things can be passed to X(T...) and 
X(alias a, alias b, alias c). The X(T...) if(T.length==k) 
pattern is ridiculous.


+1


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d
On Thursday, 16 July 2015 at 07:14:34 UTC, Ola Fosheim Grøstad 
wrote:

array: run-time indexable bag


Eh... not bag, bag often means value semantics without identity...

array: run-time indexable collection of entities.



Re: Wait, what? What is AliasSeq?

2015-07-16 Thread Andrea Fontana via Digitalmars-d

On Thursday, 16 July 2015 at 06:32:15 UTC, Jacob Carlborg wrote:

How about Bag or AliasBag?


Blob :)

An object, especially a large one, having no distinct shape or 
definition


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Thursday, 16 July 2015 at 06:32:15 UTC, Jacob Carlborg wrote:

On 2015-07-07 23:16, Andrei Alexandrescu wrote:
So I thought we were supposed to replace bad names with good 
names.
Template arguments are indexable, so sequence doesn't quite 
apply.


What happened? Why are we replacing a crappy term with another 
crappy term?


How about Bag or AliasBag?


A bag is the same as a C++ multi-set.

Let's go over the common usage:

list: finite ordered source of entities

tuple: in math it is a fixed length list of values, in 
programming it usually has semantics close to a record/struct 
with numbers instead of field names and structural typing.


sequence: infinite or finite list of values of the same 
kind/type


bag: unordered list

set: bag with unique entities

array: run-time indexable bag



Re: Wait, what? What is AliasSeq? - `Pack` Proposal

2015-07-16 Thread Mike via Digitalmars-d

On Thursday, 16 July 2015 at 05:51:01 UTC, Mike wrote:


C++ also have related use of the word pack:

http://en.cppreference.com/w/cpp/language/parameter_pack


I propose simply Pack.



I know Ola is making light of this situation and many of you find 
this discussion beneath you, but we need a name, and with the 
release looming we need it relatively soon.


I've creating a pull request for Pack 
(https://github.com/D-Programming-Language/phobos/pull/3494) 
which is inspired by C++'s parameter_pack as linked in the 
previous post.


From the description:
A template parameter pack is a template parameter that accepts 
zero or more template arguments (non-types, types, or templates). 
A function parameter pack is a function parameter that accepts 
zero or more function arguments.
A template with at least one parameter pack is called a variadic 
template.


Given that that D has its roots in C++ and this construct is 
similar to the one in question, it seems like a good fit.


I prefer `Pack` over `AliasPack` or other variations because it's 
more general and allows us to be more specific in the future with 
`TypePack`, `ExpressionPack`, `AliasPack`, etc... later, but I'll 
be happy to change it if that's what you all wish.


Ultimately, though, it's going to be a judgment call, and I hope 
having a pull request ready to go makes things easier on those 
who have to make the call.  If it doesn't work, you know where 
the close button is.


Mike





Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Wednesday, 15 July 2015 at 19:52:39 UTC, Jacob Carlborg wrote:
On 2015-07-15 18:09, Marc =?UTF-8?B?U2Now7x0eiI=?= 
schue...@gmx.net wrote:


Yeah, splat as a name for an auto-expanding thingy would be 
a novelty.
Ruby for instance doesn't have anything like that, it has a 
splat
_operator_ (asterisk) to expand a normal array, or conversely, 
capture

several arguments in one parameter.


I'm not sure what should count as auto-expanding, but this 
works in Ruby:


a, b = [1, 2]

No extra operator is required in this case.


What I meant is that there is no equivalent to the behaviour of 
TypeTuples:


assert(is(TypeTuple!(int, float, TypeTuple!(string, int)) ==
  TypeTuple!(int, float, string, int));
TypeTuple!(int, int) a;
a[0] = 1; a[1] = 2;
void foo(int, int);
foo(a); // works

But not in Ruby:

[1, 2, [3, 4]] != [1, 2, 3, 4]
def foo a, b ; end
foo([1, 2]);  // doesn't work
foo(*[1, 2]); // but works with splat operator

Maybe auto-flattening is a better name for this behaviour?

My point is that there is no type in Ruby that is inherently 
splatty, rather it's the operator that produces this behaviour. 
Therefore, splat is not used as a noun to signify such a type.


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread via Digitalmars-d

On Wednesday, 15 July 2015 at 21:44:37 UTC, Timon Gehr wrote:
It should instead be acknowledged that there /should/ be no 
difference in what three things can be passed to X(T...) and 
X(alias a, alias b, alias c). The X(T...) if(T.length==k) 
pattern is ridiculous.


Yes, that would immediately solve the objection against Alias 
in the name, beside making the language more consistent.


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread David Nadlinger via Digitalmars-d

On Thursday, 16 July 2015 at 10:19:11 UTC, Dicebot wrote:
I am all for that but it needs to be explicitly acknowledged 
and implemented together with a rename.


There is no renaming involved here, as the issue concerns the 
alias parameter language constructs. Or are you suggesting using 
another keyword than alias?


 – David


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread David Nadlinger via Digitalmars-d

On Thursday, 16 July 2015 at 06:33:00 UTC, Jacob Carlborg wrote:

On 2015-07-15 23:44, Timon Gehr wrote:

It should instead be acknowledged that there /should/ be no 
difference
in what three things can be passed to X(T...) and X(alias a, 
alias b,

alias c). The X(T...) if(T.length==k) pattern is ridiculous.


I completely agree.


Walter has agreed at DConf that this (i.e. alias not accepting 
basic types) should be fixed.


 — David


Re: Wait, what? What is AliasSeq?

2015-07-16 Thread David Nadlinger via Digitalmars-d

On Thursday, 16 July 2015 at 14:38:09 UTC, Dicebot wrote:
I mean that if name AliasSomething goes to 2.068, matching 
change to compiler argument lists must land in same release - 
and there must be a change log entry connecting and explaining 
those two.


I disagree with that. These aren't related at all. The change 
would affect alias params, not argument lists (which already 
accept everything).


 — David


  1   2   3   >