1.1 --- a/README.txt Mon Feb 18 01:22:25 2008 +0100
1.2 +++ b/README.txt Tue Feb 19 00:05:22 2008 +0100
1.3 @@ -27,6 +27,21 @@
1.4 Data Structures
1.5 ===============
1.6
1.7 +The fundamental "value type" is a pair of references: one pointing to the
1.8 +referenced object represented by the interchangeable value; one referring to
1.9 +the context of the referenced object, typically the object through which the
1.10 +referenced object was acquired as an attribute.A
1.11 +
1.12 +Value Layout
1.13 +------------
1.14 +
1.15 + 0 1
1.16 + object context
1.17 + reference reference
1.18 +
1.19 +Objects
1.20 +-------
1.21 +
1.22 Since classes, functions and instances are all "objects", each must support
1.23 certain features and operations in the same way.
1.24
1.25 @@ -190,6 +205,27 @@
1.26 Keyword arguments are set using an attribute-like mechanism, though, where the
1.27 position of each argument discovered using the parameter table.
1.28
1.29 +Method invocations incorporate an implicit first argument which is obtained
1.30 +from the context of the method:
1.31 +
1.32 + method(a, b, d=1, e=2, c=3) -> method(self, a, b, c, d, e)
1.33 +
1.34 + Value Stack
1.35 + -----------
1.36 +
1.37 + ...
1.38 + method
1.39 + context of method
1.40 + a
1.41 + b
1.42 + 3
1.43 + 1
1.44 + 2
1.45 +
1.46 +Although it could be possible to permit any object to be provided as the first
1.47 +argument, in order to optimise instance attribute access in methods, we should
1.48 +seek to restrict the object type.
1.49 +
1.50 Tuples, Frames and Allocation
1.51 -----------------------------
1.52