Index: doc/next-tutorial/next-tutorial.html =================================================================== diff -u -r2488a3699c78579fb1f4f1b4f2a8366946287fe5 -r21e04cc3b201da5acfc77f7b05308f1ddfa606dc --- doc/next-tutorial/next-tutorial.html (.../next-tutorial.html) (revision 2488a3699c78579fb1f4f1b4f2a8366946287fe5) +++ doc/next-tutorial/next-tutorial.html (.../next-tutorial.html) (revision 21e04cc3b201da5acfc77f7b05308f1ddfa606dc) @@ -2779,11 +2779,11 @@ # "d1" is created based on the definitions of the last example # # Add the methods from "M1" as per-object mixin to "d1" -d1 object mixin add M1 +d1 object mixins add M1 # # Add the methods from "M2" as per-class mixin to class "C" -C mixin add M2 +C mixins add M2 # Invoke the method foo d1 foo @@ -3737,10 +3737,10 @@ properties, also NX provides some predefined definitions. Since Person is a subclass of nx::Object also the configure parameters of nx::Object are inherited. In the introductory stack example, we used --mixin applied to an object to denote per-object mixins (see -Listing 8). Since mixin +-mixins applied to an object to denote per-object mixins (see +Listing 8). Since mixins is defined as a parameter on nx::Object it can be used as an object -parameter -mixin for all objects in NX. To put it in other words, +parameter -mixins for all objects in NX. To put it in other words, every object can be configured to have per-object mixins. If we would remove this definition, this feature would be removed as well.

As shown in the introductory examples, every object can be configured @@ -3782,16 +3782,16 @@ Command: p1 info lookup syntax configure Result: - -name /value/ ?-birthday /value/? ?-object-mixin /mixinreg .../? - ?-class /class/? ?-object-filter /filterreg .../? ?/__initblock/? + -name /value/ ?-birthday /value/? ?-object-mixins /mixinreg .../? + ?-class /class/? ?-object-filters /filterreg .../? ?/__initblock/? Configure parameter for Student s1: Command: s1 info lookup syntax configure Result: ?-oncampus /boolean/? -matnr /value/ -name /value/ - ?-birthday /value/? ?-object-mixin /mixinreg .../? ?-class /class/? - ?-object-filter /filterreg .../? ?/__initblock/?

+ ?-birthday /value/? ?-object-mixins /mixinreg .../? ?-class /class/? + ?-object-filters /filterreg .../? ?/__initblock/?

The given paramter show, how (a) objects can be configured at runtime or (b) how new instances can be configured at creation time via the new or create methods. @@ -3820,7 +3820,7 @@ specified for a class, the default superclass is nx::Object. Therefore nx::Object is the default value for the parameter superclass.

-

Another frequently used parameter for classes is -mixin to denote +

Another frequently used parameter for classes is -mixins to denote per-class mixins (see e.g. the introductory Stack example in Listing 10), which is defined in the same way.

@@ -3859,9 +3859,9 @@ Command: nx::Class info lookup syntax configure Result: - ?-superclass /class .../? ?-mixin /mixinreg .../? - ?-filter /filterreg .../? ?-object-mixin /mixinreg .../? - ?-class /class/? ?-object-filter /filterreg .../? ?/__initblock/?
+ ?-superclass /class .../? ?-mixins /mixinreg .../? + ?-filters /filterreg .../? ?-object-mixins /mixinreg .../? + ?-class /class/? ?-object-filters /filterreg .../? ?/__initblock/?

4.3.3. User defined Parameter Types

@@ -4041,11 +4041,11 @@ ::nx::Object create o { # The class M is unknown at this point - :object mixin add M + :object mixins add M # The line above has triggered the unknown class handler, # class M is now defined - puts [:info object mixin classes] + puts [:info object mixins] # The output will be: # ***** __unknown called with <::M> # ::M @@ -4156,7 +4156,7 @@