[issue27999] Make "global after use" a SyntaxError

2016-09-09 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Added few tests to the patch

--
Added file: http://bugs.python.org/file44503/patch-v2.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27999>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27999] Make "global after use" a SyntaxError

2016-09-09 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I am attaching the patch.

Yury, I also added you here, just in case you have time for this.

Btw, while working on this I have found that the second restriction:

"""
Names listed in a global statement must not be ... in a for loop control 
target, class definition, function definition, or import statement.
"""

is not enforced at all, it does not give even a SyntaxWarning.
Is it something worth fixing?

--
keywords: +patch
nosy: +yselivanov
Added file: http://bugs.python.org/file44501/patch-v1.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27999>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28038] Remove com2ann script (will be in separate repo)

2016-09-09 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

After some thinking, maybe it could be still kept in Tools but developed on 
github as it is done for typing and asyncio?

I have no preference here, core devs should decide.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28038>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28038] Remove com2ann script (will be in separate repo)

2016-09-09 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Victor,

Guido proposed to publish com2ann script in a separate repo on github.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28038>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28038] Remove com2ann script (will be in separate repo)

2016-09-09 Thread Ivan Levkivskyi

New submission from Ivan Levkivskyi:

Guido,

Here is a patch to remove com2ann (also it looks like Yury added a second entry 
for me in MISC/Acks, so that I am removing it).

--
components: Demos and Tools
files: remove-com2ann.diff
keywords: patch
messages: 275274
nosy: gvanrossum, levkivskyi
priority: normal
severity: normal
status: open
title: Remove com2ann script (will be in separate repo)
versions: Python 3.6
Added file: http://bugs.python.org/file44489/remove-com2ann.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28038>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-09 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Thank you Guido, Yury, Brett, and Serhiy!

It is first time I make such kind of contribution. It was a great experience 
and a great opportunity to better understand CPython internals (I already have 
several ideas on what to work next :-)

I will soon submit a PR to python/typing with copy of typing changes (also 
Python2 version) and a patch to remove com2ann script to a separate repo as 
discussed with Guido.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26982] Clarify forward annotations in PEP 484

2016-09-08 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26982>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Yes,

This is the latest patch that I tested and with resolved merge conflicts.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Thank you Yury,

I usually do 

./python -m test -R : test___all__ test_dis test_grammar test_opcodes 
test_parser test_pydoc test_symtable test_tools test_typing

and then

./python -m test -j3 -u all

I just run tests with -R3:3 it also works.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Guido,

I resolved merge conflicts in patch v4 (if it will complain, this could be 
because of graminit.c or importlib_external.h, just ignore those, they will be 
regenerated during build).

Please take a look and sorry for a delay.

--
Added file: http://bugs.python.org/file44478/hg-pep-526-v4.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Oh, I see there are more comments by Serhiy, I will implement them and submit a 
new patch.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Yury, thank you for the fix and for good advice!

(I checked everything like 10 times, except for TOS :-)

I run the full test suite and everything seem to be fine now.

Guido, does Yury's patch apply cleanly, or I need to regenerate a new one?

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Yury,

Commenting out was an attempt to debug. It should be there

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

It looks like this part is causing a refleak

def test_do_not_recreate_annotations(self):
class C:
del __annotations__
try: #with self.assertRaises(NameError):
x: int
except NameError:
pass

in test_opcodes

(for both options -- try and with)

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Sorry, again attached a wrong diff, here is the correct one.

--
Added file: http://bugs.python.org/file44470/hg-pep-526-v2.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-08 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Here is the new patch. I hope I didn't miss any comment and fixed everything.

There is still a refleak to fix.

--
Added file: http://bugs.python.org/file44469/hg-pep-526-v2.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Guido,

I fixed __annotations__ in interactive REPL, will fix other minor things and 
submit a new patch tomorrow morning.

There are two important questions in typing.py:

> Why is the second isinstance() needed? Isn't _ClassVar a subclass of
> TypingMeta

and 

> This being a metaclass, the name should end in Meta, like most
> other subclasses of TypingMeta. (And they don't have a leading _,
> though they're still not public.)

The problem with ClassVar is that it is not actually a class, and _ClassVar is 
not a metaclass, it is just a class. I deviated from the common pattern in 
module for the following reason. ClassVar is going to be extensively used at 
class scope, where all annotations are evaluated. Therefore I wanted not to 
create new class objects by __getitem__ like it is going for other classes like 
Union etc (I tried to timeit this and ClassVar is almost ten times faster than 
Union)

What do you think?
Should I keep it like this, or rewrite in a common pattern for the module?

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

> I think this is how exec() already works

This is not exactly like this, exec() emits ast.Module while interactive input 
emits ast.Interactive (this one skips compiler_body in compile.c), but I think 
I have got your point, will fix this.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I could change STORE_ANNOTATION opcode so that it will recreate __annotations__ 
if __name__ == '__main__'.

Or do you now think that it should re-create it always? I still think that 
always re-creating __annotations__ if they don't exist seems like silencing a 
possible error. As I mentioned in previous discussion, I think we should allow 
people to explicitly del __annotations__ (for example if someone wants to make 
a class with annotations that are "invisible" to runtime tools) and warn them 
if later they use annotations.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

We discussed this at some point on python/typing. At that time we decided that

class C:

del __annotations__
x: int

Should be an error. Do you think that it should behave in a different way in 
interactive REPL and/or at module level?

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27989] incomplete signature with help function using typing

2016-09-07 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27989>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27999] Make "global after use" a SyntaxError

2016-09-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

OK, then I think after will be safer. Let us came back to this right after PEP 
526.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27999>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27999] Make "global after use" a SyntaxError

2016-09-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Yes, nonlocal will be fixed too. This will be a relatively small patch, but I 
am a bit afraid there could be merge conflicts (the code affected could overlap 
with changes for PEP 526).

Easiest way would be to simply make this a single patch with PEP 526 
implementation (this will actually even slightly simplify the implementation).

Alternatively we could fix this right after the implementation patch is 
applied. What do you prefer?

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27999>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27999] Make "global after use" a SyntaxError

2016-09-07 Thread Ivan Levkivskyi

New submission from Ivan Levkivskyi:

The documentation at https://docs.python.org/3/reference/simple_stmts.html says 
that:

"Names listed in a global statement must not be used in the same code block 
textually preceding that global statement"

But then later:

"CPython implementation detail: The current implementation does not enforce the 
two restrictions,
but programs should not abuse this freedom, as future implementations may 
enforce them..."

Code like this

def f():
x = 1
global x

gives SyntaxWarning for several releases, maybe it is time to make it a 
SyntaxError?

--
assignee: docs@python
components: Documentation, Interpreter Core
messages: 274813
nosy: docs@python, gvanrossum, levkivskyi
priority: normal
severity: normal
status: open
title: Make "global after use" a SyntaxError
type: behavior
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27999>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-06 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Oops, sorry, forgot to add new files when converting from git to hg, here is 
the full patch.

--
Added file: http://bugs.python.org/file44416/hg-pep-526.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27985] Implement PEP 526

2016-09-06 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Here is the patch for PEP 526 implementation

--
keywords: +patch
nosy: +levkivskyi
Added file: http://bugs.python.org/file44415/hg-pep-526.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27985>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27905] Add documentation for typing.Type

2016-09-02 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Michael, thank you for helping with this!
Please take a look at my comments on the patch.

--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27905>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27598] Add Collection to collections.abc and typing

2016-08-23 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Guido, thank you for committing! There are also some other omissions in docs, 
Type[C], @overload, there is #26141 to track this. I will submit a patch later. 
Until 3.6beta1 I would like to focus on PEP 526.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27598>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27598] Add SizedIterable to collections.abc and typing

2016-08-19 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Thank you Neil, I agree that Sequence is a reversible collection.

I combined you documentation patch with updated _collections_abc and updated 
test_functools (it tests MRO) into a single patch.

--
Added file: http://bugs.python.org/file44148/collection_neil_combined.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27598>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27598] Add SizedIterable to collections.abc and typing

2016-08-18 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I submit a simple solution in line with __subclasshook__ of other ABCs.
I added several tests, it looks like it is doing everything right.

Please review.

--
keywords: +patch
Added file: http://bugs.python.org/file44144/collection.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27598>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25958] Implicit ABCs have no means of "anti-registration"

2016-08-18 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

On my machine 8 tests are always skipped:
test_devpoll test_kqueue test_msilib test_ossaudiodev
test_startfile test_winreg test_winsound test_zipfile64
All others tests pass OK.

The main part of the work is by Andrew Barnert, I only introduced small changes 
due to previous changes in Reversible and few minor things in response to 
previous comments.

Guido, thank you for applying the patch!

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25958>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27594] Assertion failure when running "test_ast" tests with coverage.

2016-08-17 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Ned, thank you for applying the patch!

I have discovered this same issue accidentally while playing with possible 
implementations of PEP 526. It appeared as a failure in
test_sys_settrace in my fork.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27594>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25958] Implicit ABCs have no means of "anti-registration"

2016-08-15 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Oops, sorry, forgot one import, all tests pass with the corrected patch.

--
Added file: http://bugs.python.org/file44123/abarnert_rebased2.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25958>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25958] Implicit ABCs have no means of "anti-registration"

2016-08-15 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I have manually "rebased" the patch taking into account that part of the work 
has been done in http://bugs.python.org/issue25987

Serhiy, Martin could you please review the latest patch and check that 
everything is OK?

Andrew did a really good job and I would like this to land in 3.6

--
Added file: http://bugs.python.org/file44122/abarnert_rebased.diff

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25958>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27723] Document typing.Text and typing.AnyStr

2016-08-15 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Looks good to me.
15 Сер 2016 18:57 "Michael Lee" <rep...@bugs.python.org> пише:

>
> Michael Lee added the comment:
>
> Second revision attached below.
>
> --
> Added file: http://bugs.python.org/file44121/document-text-and-
> anystr-2.patch
>
> ___
> Python tracker <rep...@bugs.python.org>
> <http://bugs.python.org/issue27723>
> ___
>

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27723>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24379] Add operator.subscript as a convenience for creating slices

2016-08-15 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

It looks like namedtuple suffers the same issue with empty __slots__:

test_collections leaked [0, 0, 2, 0] references, sum=2

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27723] Document typing.Text and typing.AnyStr

2016-08-14 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Thank you for the patch, Michael!
I could add a comment that probably it is better to mention the definition of 
AnyStr = TypeVar('AnyStr', str, bytes) at beginning and only then go with 
examples.

--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27723>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27594] Assertion failure when running "test_ast" tests with coverage.

2016-08-12 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

You could try changing this line in compile.c (in function 'assemble')

if (entryblock && entryblock->b_instr)

to

if (entryblock && entryblock->b_instr && entryblock->b_instr->i_lineno)

Does this help?

--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27594>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27689] Add documentation for typing.Generator

2016-08-05 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Michael, thank you for the patch. I have only one comment.
Generator is one of the few types in typing.py that behaves contravariantly. 
Maybe you could emphasize that it is contravariant in send type in your patch?

--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27689>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27688] Expand documentation about Any in the typing module

2016-08-05 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27688>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27644] Expand documentation about type aliases and NewType in the typing module

2016-07-29 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I have only one optional comment on the second revision.

--
nosy: +gvanrossum

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27644>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27644] Expand documentation about type aliases and NewType in the typing module

2016-07-29 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

> Should I edit the patch to include a sentence or two describing this
> distinction, just remove the word "almost", or do something else?

I think the best way is to remove the "almost" and briefly explain that you 
cannot subclass types returned by NewType.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27644>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27644] Expand documentation about type aliases and NewType in the typing module

2016-07-28 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Added two small comments to the review.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27644>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27644] Expand documentation about type aliases and NewType in the typing module

2016-07-28 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27644>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27598] Add SizedIterable to collections.abc and typing

2016-07-28 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27598>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27588] Type (typing) objects are hashable and comparable for equality but this is not documented

2016-07-22 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I am not sure that this feature will survive the resolution of 
https://github.com/python/typing/issues/136

Types in typing are primarily intended for use with static type checkers and 
similar tools, their runtime properties are still under some discussions.

--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27588>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25958] Implicit ABCs have no means of "anti-registration"

2016-07-14 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

What holds back this issue now?

It looks like Andrew did a great job.
When I was making a patch for #25987 following Andrew's ideas, I was surprised 
how many different idioms has been used for __subclasshook__.
I was going to open an issue on this, when I noticed a week ago that there is 
already this issue.

Is any help needed here?

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25958>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue27501] Add typing.py class describing a PEP 3118 buffer object

2016-07-14 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27501>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24379] Add operator.subscript as a convenience for creating slices

2016-06-30 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25830] _TypeAlias: Discrepancy between docstring and behavior

2016-06-30 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25830>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26075] typing.Union unifies types too broadly

2016-06-30 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26075>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26477] typing forward references and module attributes

2016-06-30 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26477>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26696] Document collections.abc.ByteString

2016-06-30 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26696>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26141] typing module documentation incomplete

2016-06-30 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I would like to do this (update the typing docs) at some point before 3.6 
beta1. There probably will be some updates to the PEP (it is still 
provisional), and maybe to typing.py soon.

--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26141>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25958] Implicit ABCs have no means of "anti-registration"

2016-06-30 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25958>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25987] collections.abc.Reversible

2016-04-17 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I see that I forgot to include .. versionadded:: in the documentation.
Will this go into 3.5.2 or in 3.6?

--
assignee:  -> docs@python
components: +Documentation
nosy: +docs@python

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25987>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25987] collections.abc.Reversible

2016-04-02 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I was not sure whether Andrew is still interested. I made a simple-minded patch 
following his proposal. I also added tests and changed docs accordingly. Note 
that I also changed the expected MRO for MutableSequence in one of the 
functools tests according to the new hierarchy (otherwise test_functools fails).

Please review.

PS: Some tests was skipped on my machine, here is the list:
test_bz2 test_curses test_dbm_gnu test_dbm_ndbm test_devpoll
test_idle test_kqueue test_lzma test_msilib test_ossaudiodev
test_smtpnet test_socketserver test_ssl test_startfile test_tcl
test_timeout test_tix test_tk test_ttk_guionly test_ttk_textonly
test_urllib2net test_urllibnet test_winreg test_winsound
test_xmlrpc_net test_zipfile64

--
keywords: +patch
Added file: http://bugs.python.org/file42357/reversible.patch

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25987>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25987] collections.abc.Reversible

2016-03-26 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25987>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25610] Add typing.Awaitable

2015-11-13 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi <levkivs...@gmail.com>:


--
nosy: +levkivskyi

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25610>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24272] PEP 484 docs

2015-09-09 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Thank you, Guido!

I have noticed single quotes in line 38: 

type hinted using `Callable[[Arg1Type, Arg2Type], ReturnType]`

I think it would be logical to replace it with double quotes: 

``Callable[[Arg1Type, Arg2Type], ReturnType]`` 

as Zachary did in the rest of the text.

By the way, you have marked my patch as Daniels and vice versa in the commit 
descriptions, but that probably does not matter :)

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24272>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24272] PEP 484 docs

2015-09-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Guido, are you going to commit our patches before 3.5.final? Is there a merge 
conflict now? Should I rebase my diff?

If necessary I could make a clean patch combining two patches (my and Daniel's) 
on top of what Zachary did.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24272>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24272] PEP 484 docs

2015-08-07 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Here is a new patch for the first part of classes at the end of docs.
I also did some minor changes (in particular added more info on generics and 
removed the section about ellipsis for default arguments, we could return it if 
we decide to write something about stub files here).

--
Added file: http://bugs.python.org/file40144/typedoc_new.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24272
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24796] Deleting names referencing from enclosed and enclosing scopes

2015-08-05 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24796
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24272] PEP 484 docs

2015-08-02 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Is anyone working on this right now? If not, I could implement the comments by 
Guido to the latest patch by Daniel.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24272
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24272] PEP 484 docs

2015-08-02 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

New version of the patch by Daniel, latest comments by Guido are taken into 
account.

--
Added file: http://bugs.python.org/file40108/typing_doc_v3.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24272
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-08-01 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

I am sorry but I still don't get how things are organized here, so pinging this 
up. What is the next step? Should I wait for another review?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24528] Misleading exeption for await in comprehensions.

2015-07-01 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Yury, thank you for the patch, the error message is much clearer now.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24528
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-07-01 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

What holds the patch now? Should I do something or just wait?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue5945] PyMapping_Check returns 1 for lists

2015-06-29 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue5945
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24528] Misleading exeption for await in comprehensions.

2015-06-29 Thread Ivan Levkivskyi

New submission from Ivan Levkivskyi:

The following code:

async def foo():
lst = [await coro(i) for i in range(10)]
return lst

gives

SyntaxError: 'await' outside async function

I understand that this is because the comprehensions are implemented using a 
function scope (see also #10544), but such behavior is unintuitive.

IMO there are two possibilities here:
1) make comprehensions behave more like a for loop;
2) change the exception text to something like SyntaxError: 'await's in 
comprehensions are not supported.

I understand that the first option is probably not for 3.5 (it is beta 
already), but I will be happy if the second option will be implemented in 3.5

--
components: Interpreter Core, asyncio
messages: 245931
nosy: gvanrossum, haypo, levkivskyi, yselivanov
priority: normal
severity: normal
status: open
title: Misleading exeption for await in comprehensions.
type: behavior
versions: Python 3.5, Python 3.6

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24528
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19217] Calling assertEquals for moderately long list takes too long

2015-06-29 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19217
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21253] unittest assertSequenceEqual can lead to Difflib.compare() crashing on mostly different sequences

2015-06-29 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21253
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21827] textwrap.dedent() fails when largest common whitespace is a substring of smallest leading whitespace

2015-06-29 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue21827
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24272] PEP 484 docs

2015-06-29 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24272
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11352] Update cgi module doc

2015-06-29 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11352
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16379] SQLite error code not exposed to python

2015-06-25 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16379
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19235] Add a dedicated subclass for recursion errors

2015-06-23 Thread Ivan Levkivskyi

Changes by Ivan Levkivskyi levkivs...@gmail.com:


--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19235
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-06-23 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

It looks like on python-dev 
(http://www.mail-archive.com/python-dev@python.org/msg88256.html) there is an 
agreement that this behavior should not be changed (at least not in the nearest 
future). If there are no more comments/suggestions, then maybe one could accept 
the latest patch?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-06-21 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Nick, thank you for a review, I have made a new patch with all the previous 
comments taken into account.

--
Added file: http://bugs.python.org/file39759/classdoc-v4.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-06-20 Thread levkivskyi

levkivskyi added the comment:

Eric, the rule that classes don't play the nested scopes game is explained at 
beginning of the same section, but the explanation is one sided it only 
explains that names defined in classes are not visible inside functions.
Nick, thank you for the thorough explanation. I will try to improve the 
wording. It looks like a bit more substantial changes are needed.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-06-20 Thread Ivan Levkivskyi

Ivan Levkivskyi added the comment:

Eric, I have submitted a new version of the patch. Could you please make a 
review? Nick, it will be interesting to hear your opinion too.

I tried to follow such rules:
1. Explanation should be succinct yet clear
2. It should tell as less as possible about implementation details
3. Minimize necessary changes

It turns out that these goals could be achieved by 
a) simply reshuffling and structuring the existing text to separate the 
exceptions (classes, etc.) from the general case;
and
b) adding some minor clarifications.

Armin, thank you for the link. It looks like this is a really old discussion.

PS: Unfortunately, the diff after reshuffling of the text looks big and 
cumbersome, in fact the changes are minimal.

--
Added file: http://bugs.python.org/file39749/classdoc-v3.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-06-19 Thread levkivskyi

levkivskyi added the comment:

Eric, thank you for the review. I have incorporated proposed changes in second 
version of the patch.
Concerning the question whether it is a bug, it also smells like a bug to me, 
but Guido said 13 years ago that this should not be changed: 
https://mail.python.org/pipermail/python-dev/2002-April/023428.html and it 
stayed like this since then. However, things changed a bit in Python 3.4 with 
the introduction of the LOAD_CLASSDEREF opcode. Perhaps, we should ask Guido 
again :) What do you think?

--
Added file: http://bugs.python.org/file39744/classdoc_v2.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-06-19 Thread levkivskyi

levkivskyi added the comment:

Should I invite someone to review the patch or just wait? How the things are 
organized here?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-05-15 Thread levkivskyi

levkivskyi added the comment:

Since no one proposed alternative ideas, I am submitting my proposal as a 
patch, with the following wording:


A class definition is an executable statement that may use and define names. 
Free variables follow the normal rules for name resolution, while unbound local 
variables are looked up in the global namespace. The namespace of the class 
definition becomes the attribute dictionary of the class. Names defined at the 
class scope are not visible in methods


--
keywords: +patch
Added file: http://bugs.python.org/file39383/classdoc.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24133] Add 'composable' decorator to functools (with @ matrix multiplication syntax)

2015-05-06 Thread levkivskyi

New submission from levkivskyi:

The matrix multiplication operator @ is going to be introduced in Python 3.5 
and I am thinking about the following idea:

The semantics of matrix multiplication is the composition of the corresponding 
linear transformations.
A linear transformation is a particular example of a more general concept - 
functions.
The latter are frequently composed with (wrap) each other. For example:

plot(real(sqrt(data)))

However, it is not very readable in case of many wrapping layers. Therefore, it 
could be useful to employ
the matrix multiplication operator @ for indication of function composition. 
This could be done by such (simplified) decorator:

class composable:

def __init__(self, func):
self.func = func

def __call__(self, arg):
return self.func(arg)

def __matmul__(self, other):
def composition(*args, **kwargs):
return self.func(other(*args, **kwargs))
return composable(composition)

I think using such decorator with functions that are going to be deeply wrapped
could improve readability.
You could compare (note that only the outermost function should be decorated):

plot(sorted(sqrt(real(data_array vs. (plot @ sorted @ sqrt @ real) 
(data_array)

I think the latter is more readable, also compare

def sunique(lst):
return sorted(list(set(lst)))

vs.

sunique = sorted @ list @ set

Apart from readability, there are following pros of the proposed decorator:

1. Similar semantics as for matrix multiplication.
2. Same symbol for composition as for decorators.
3. The symbol @ resembles mathematical notation for function composition: ∘

I think it could be a good idea to add such a decorator to the stdlib functools 
module.

--
components: Library (Lib)
messages: 242653
nosy: levkivskyi
priority: normal
severity: normal
status: open
title: Add 'composable' decorator to functools (with @ matrix multiplication 
syntax)
type: enhancement
versions: Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24133
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24128] Documentation links are forwarded to Python 2

2015-05-05 Thread levkivskyi

New submission from levkivskyi:

Links to Python library documentation such as:
http://docs.python.org/library/functions.html
http://docs.python.org/library/itertools.html
http://docs.python.org/library/functools.html
etc.
are automatically forwarded to the Python 2 versions, namely to:
https://docs.python.org/2/library/functions.html
https://docs.python.org/2/library/itertools.html
https://docs.python.org/2/library/functools.html

At the same time docs.python.org is forwarded to Python 3 version 
https://docs.python.org/3/

I believe that all the documentation links should be forwarded to the current 
version that is Python 3.

--
assignee: docs@python
components: Documentation, Library (Lib)
messages: 242613
nosy: docs@python, levkivskyi
priority: normal
severity: normal
status: open
title: Documentation links are forwarded to Python 2
type: behavior
versions: Python 2.7, Python 3.4, Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24128
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24128] Documentation links are forwarded to Python 2

2015-05-05 Thread levkivskyi

levkivskyi added the comment:

Is it possible to check whether the Python 3 version exists and redirect to it 
and if not (like for http://docs.python.org/library/fpformat.html) then 
redirect to Python 2 ?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24128
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24129] Incorrect (misleading) statement in the execution model documentation

2015-05-05 Thread levkivskyi

New submission from levkivskyi:

The documentation on execution model 
https://docs.python.org/3/reference/executionmodel.html contains the statement

A class definition is an executable statement that may use and define names. 
These references follow the normal rules for name resolution. The namespace of 
the class definition becomes the attribute dictionary of the class. Names 
defined at the class scope are not visible in methods.

However, the following code (taken from 
http://lackingrhoticity.blogspot.ch/2008/08/4-python-variable-binding-oddities.html):

x = xtop
y = ytop
def func():
x = xlocal
y = ylocal
class C:
print(x)
print(y)
y = 1
func()

prints

xlocal
ytop

In case of normal rules for name resolution it should rise UnboundLocalError.

I suggest replacing the mentioned statement with the following:

A class definition is an executable statement that may use and define names. 
Free variables follow the normal rules for name resolution, bound variables are 
looked up in the global namespace. The namespace of the class definition 
becomes the attribute dictionary of the class. Names defined at the class scope 
are not visible in methods.

or a similar one.

--
assignee: docs@python
components: Documentation
messages: 242619
nosy: docs@python, levkivskyi
priority: normal
severity: normal
status: open
title: Incorrect (misleading) statement in the execution model documentation
type: behavior
versions: Python 3.4, Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24129
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10544] yield expression inside generator expression does nothing

2015-04-18 Thread levkivskyi

levkivskyi added the comment:

I would like to add that since the introduction of asyncio module that heavily 
uses yield from syntax, binding of yield inside comprehensions/generator 
expressions could lead to unexpected results/confusing behavior. See for 
example this question on SO: 
http://stackoverflow.com/questions/29334054/why-am-i-getting-different-results-when-using-a-list-comprehension-with-coroutin

--
nosy: +levkivskyi

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10544
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



<    2   3   4   5   6   7