Message234697
I assume this is the problem:
>>> dis.dis('f(*a(), b=b())')
1 0 LOAD_NAME 0 (f)
3 LOAD_NAME 1 (a)
6 CALL_FUNCTION 0 (0 positional, 0 keyword pair)
9 LOAD_CONST 0 ('b')
12 LOAD_NAME 2 (b)
15 CALL_FUNCTION 0 (0 positional, 0 keyword pair)
18 CALL_FUNCTION_VAR 256 (0 positional, 1 keyword pair)
21 RETURN_VALUE
— looks fine.
>>> dis.dis('f(b=b(), *a())')
1 0 LOAD_NAME 0 (f)
3 LOAD_NAME 1 (a)
6 CALL_FUNCTION 0 (0 positional, 0 keyword pair)
9 LOAD_CONST 0 ('b')
12 LOAD_NAME 2 (b)
15 CALL_FUNCTION 0 (0 positional, 0 keyword pair)
18 CALL_FUNCTION_VAR 256 (0 positional, 1 keyword pair)
21 RETURN_VALUE
Joshua, we could make function calls take:
x lists
y dictionaries
one optional list
z dictionaries
but we as well do all the merging in advance:
one optional list
one optional dictionary
one optional list
one optional dictionary
which is representable in three bits, but four is easier to decode I think. |
|
Date |
User |
Action |
Args |
2015-01-25 22:20:36 | NeilGirdhar | set | recipients:
+ NeilGirdhar, r.david.murray, SilentGhost, Joshua.Landau |
2015-01-25 22:20:36 | NeilGirdhar | set | messageid: <1422224436.78.0.642507960776.issue23316@psf.upfronthosting.co.za> |
2015-01-25 22:20:36 | NeilGirdhar | link | issue23316 messages |
2015-01-25 22:20:36 | NeilGirdhar | create | |
|