Thank you for your consideration.

获取 Outlook for Android<https://aka.ms/ghei36>



发件人: [email protected]
发送时间: 8月14日星期一 03:14
主题: Python-ideas Digest, Vol 129, Issue 44
收件人: [email protected]


Send Python-ideas mailing list submissions to [email protected] To 
subscribe or unsubscribe via the World Wide Web, visit 
https://mail.python.org/mailman/listinfo/python-ideas or, via email, send a 
message with subject or body 'help' to [email protected] You can 
reach the person managing the list at [email protected] When 
replying, please edit your Subject line so it is more specific than "Re: 
Contents of Python-ideas digest..." Today's Topics: 1. How do you think about 
these language extensions? (?? ?) 2. Re: New PEP 550: Execution Context (Yury 
Selivanov) 3. Re: New PEP 550: Execution Context (Nathaniel Smith) 
---------------------------------------------------------------------- Message: 
1 Date: Sun, 13 Aug 2017 12:49:45 +0000 From: ?? ? To: 
"[email protected]" Subject: [Python-ideas] How do you think about these 
language extensions? Message-ID: Content-Type: text/plain; 
charset="iso-2022-jp" Hi all, I've just finished a language extension for 
CPython 3.6.x to support some additional grammars like Pattern Matching. And 
It's compatible with CPython. I'm looking for constructive advice, and I wonder 
if you will be interested in this one. ? the project address is 
https://github.com/thautwarm/flowpython) 
[https://avatars1.githubusercontent.com/u/22536460?v=4&s=400] 
thautwarm/flowpython github.com flowpython - tasty feature extensions for 
python(python3). Some examples here: # where syntax from math import pi r = 1 # 
the radius h = 10 # the height S = (2*S_top + S_side) where: S_top = pi*r**2 
S_side = C * h where: C = 2*pi*r # lambda&curry : lambda x: lambda y: lambda z: 
ret where: ret = x+y ret -= z .x -> .y -> .z -> ret where: ret = x+y ret -= z 
as-with x def as y def as z def ret where: ret = x+y ret -= z # arrow transform 
(to avoid endless parentheses and try to be more readable. >> range(5) -> 
map(.x->x+2, _) -> list(_) >> [2,3,4,5,6] # pattern matching # use "condic" as 
keyword is for avoiding the conflictions against the standard libraries and 
packages from third party. "switch" and "match" both lead to conflictions. 
condic+(type) 1: case a:int => assert a == 1 and type(a) == 1 [>] case 0 => 
assert 1 > 0 [is not] case 1 => assert 1 is not 1 otherwise => print("nothing") 
condic+() [1,2,3]: case (a,*b)->b:list => sum(b) +[] case [] => print('empty 
list') +[==] case (a,b):(1,2) => print("the list is [1,2]") The grammars with 
more details and examples can be found in 
https://github.com/thautwarm/flowpython/wiki Does it interest you? If so, you 
can try it if you have CPython 3.6.x. pip install flowpython python -m 
flowpython -m enable/disable Here is an example to use flowpython, which gives 
the permutations of a sequence. from copy import deepcopy permutations = .seq 
-> seq_seq where: condic+[] seq: case (a, ) => seq_seq = [a,] case (a, b) => 
seq_seq = [[a,b],[b,a]] case (a,*b) => seq_seq = permutations(b) -> map(.x -> 
insertAll(x, a), _) -> sum(_, []) where: insertAll = . x, a -> ret where: ret = 
[ deepcopy(x) -> _.insert(i, a) or _ for i in (len(x) -> range(_+1)) ] If the 
object permutations are defined, try these codes in console: >> range(3) -> 
permutations(_) >> [[0, 1, 2], [1, 0, 2], [1, 2, 0], [0, 2, 1], [2, 0, 1], [2, 
1, 0]] Does it seem to be interesting? Thanks, Thautwarm -------------- next 
part -------------- An HTML attachment was scrubbed... URL: 
------------------------------ Message: 2 Date: Sun, 13 Aug 2017 14:44:24 -0400 
From: Yury Selivanov To: Nick Coghlan Cc: Nathaniel Smith , 
"[email protected]" Subject: Re: [Python-ideas] New PEP 550: Execution 
Context Message-ID: Content-Type: text/plain; charset="UTF-8" I'll start a new 
thread to discuss is we want this specific semantics change soon (with some 
updates). Yury ------------------------------ Message: 3 Date: Sun, 13 Aug 2017 
12:14:07 -0700 From: Nathaniel Smith To: Yury Selivanov Cc: Nick Coghlan , 
Python-Ideas Subject: Re: [Python-ideas] New PEP 550: Execution Context 
Message-ID: Content-Type: text/plain; charset="UTF-8" On Sun, Aug 13, 2017 at 
9:57 AM, Yury Selivanov wrote: > 2. ContextItem.has(), ContextItem.get(), 
ContextItem.set(), > ContextItem.delete() -- pretty self-explanatory. It might 
make sense to simplify even further and declare that context items are 
initialized to None to start, and the only operations are set() and get(). And 
then get() can't fail, b/c there is no "value missing" state. -n -- Nathaniel 
J. Smith -- https://vorpus.org ------------------------------ Subject: Digest 
Footer _______________________________________________ Python-ideas mailing 
list [email protected] 
https://mail.python.org/mailman/listinfo/python-ideas 
------------------------------ End of Python-ideas Digest, Vol 129, Issue 44 
*********************************************

_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to