Lichen

tests/nested_mixed.py

303:c07a749f5bd0
2016-12-02 Paul Boddie Use __data__ attributes with native functions apart from when __data__ needs replacing (such as in the list append and concatenation functions).
     1 a = 4     2      3 def f(x):     4      5     # Test function initialisation (f.$l0).     6      7     def g(y, x=x):     8      9         # Test function initialisation (f.$l0.$l0).    10     11         def h(a, z, x=x, y=y):    12             return x, y, z, a # parameter a overrides global scope    13     14         return h    15     16     return g    17     18 fn = f(1)    19 print fn                        # __main__.f.$l0    20 print fn(2)                     # __main__.f.$l0.$l0    21 print fn(2)(5, 3)               # (1, 2, 3, 5)    22 print fn(2)(5, 3, 6)            # (6, 2, 3, 5)    23 print fn(2)(5, 3, 6, 7)         # (6, 7, 3, 5)