Verbose and flexible args and kwargs syntax

2011-12-12 Thread Eelco Hoogendoorn
The above examples are seldom needed in Python because we have one general method to repeatedly split a sequence into head and tail. it = iter(iterable) # 'it' now represents the sequenced iterable head = next(it) # 'it' now represents the tail after removing the head In other words,

Verbose and flexible args and kwargs syntax

2011-12-12 Thread Eelco Hoogendoorn
No more, or less, explicit than the difference between == and is. == may be taken to mean identity comparison; 'equals' can only mean one thing. Of course 'formally' these symbols are well defined, but so is brainf*ck Modulo is hardly an obscure operation. What's the remainder...? is a

Verbose and flexible args and kwargs syntax

2011-12-12 Thread Eelco Hoogendoorn
On the contrary, it is a major point. You want us to change the language so you can program by Google. Sorry, aint't gonna happen. On the contrary; I believe I get to decide which points I consider important. This one, I do not. Sorry for putting it in the first paragraph. --

Verbose and flexible args and kwargs syntax

2011-12-12 Thread Eelco Hoogendoorn
On the contrary, it is a major point. Sorry, but im affraid it is up to ME to decide which point I feel are important. No, this is a minor point to me, and one that has been admirably put to rest by pointing out that spelling out the name of the symbol in google directly leads you to the

Verbose and flexible args and kwargs syntax

2011-12-11 Thread Eelco Hoogendoorn
Throwing an idea for a PEP out there: It strikes me that the def func(*args, **kwargs) syntax is rather unpytonic. It certainly did not have that 'for line in file' pythonic obviousness for me as a beginner. Plus, asterikses are impossible to google for, so finding out what exactly they do

Verbose and flexible args and kwargs syntax

2011-12-11 Thread Eelco Hoogendoorn
Yes, that's just a strict keywordification of the * and ** symbols. The same argument could be made for eliminating the standard algebraic + operator and replacing it with a keyword __add__. I don't think that's worthwhile. Well, its not quite the same in the sense that algebraic operators

Verbose and flexible args and kwargs syntax

2011-12-11 Thread Eelco Hoogendoorn
As for syntax; what about coopting/integrating with the function annotation syntax? so: def func(args: list, kwargs: attrdict) and correspondingly in the function call? a, b:tuple = someiterable? I guess a rule that interprets every function argument annotated as a subclass of list or dict

Verbose and flexible args and kwargs syntax

2011-12-11 Thread Eelco Hoogendoorn
No more so than any other form of punctuation. Plus and minus + - may be so common that just about everyone knows it, but how about | == @ % and even . (dot)? None of these things will be obvious to newbies who have never programmed before. Oh well. Some things you just have to learn.

Verbose and flexible args and kwargs syntax

2011-12-11 Thread Eelco Hoogendoorn
There are other means of finding information than Google. Really. This is really only a very minor point in my argument, so I dont want to put the focus on this. But really, no. Googling 'myprogramminglanguage conceptimtryingtofigureout' is my first, second and third line of defence. Yes,