Index: doc/next-migration.html =================================================================== diff -u -r1beeb594c1cd9e222b6e1f419e9a6f5ec0713249 -raa41f220776456c37553c5daf8e0519d5b51f0b8 --- doc/next-migration.html (.../next-migration.html) (revision 1beeb594c1cd9e222b6e1f419e9a6f5ec0713249) +++ doc/next-migration.html (.../next-migration.html) (revision aa41f220776456c37553c5daf8e0519d5b51f0b8) @@ -3,29 +3,26 @@ - + Migration Guide for the the Next Scripting Language @@ -1029,11 +1210,11 @@

2.1. Defining Objects and Classes

When creating objects or classes, one should use the method create -explicitly. In XOTcl, a default unknown handler was provided for +explicitly. In XOTcl, a default unknown method handler was provided for classes, which create for every unknown method invocation an object/class with the name of the invoked method. This technique was convenient, but as well dangerous, since typos in method names lead -easily to unexpected behavior. This default unknown handler is not +easily to unexpected behavior. This default unknown method handler is not provided in NX (but can certainly be provided as a one-liner in NX by the application).

@@ -1578,8 +1759,8 @@ application developer in various ways. The command ::nx::configure defaultMethodCallProtection true|false can be used to set the default call protection for scripted methods, forwarder and aliases, while -::nx::configure defaultAttributeCallProtection true|false can set -the default protection for attributes. The defaults can be overwritten +::nx::configure defaultPropertyCallProtection true|false can set +the default protection for properties. The defaults can be overwritten also e.g. on a class level.

@@ -1635,8 +1816,8 @@ /cls/ ?class? delete method /name/ # Deletion of Attributes -/obj/ delete attribute /name/ -/cls/ ?class? delete attribute /name/
+/obj/ delete attribute /name/ +/cls/ ?class? delete attribute /name/ @@ -2312,8 +2493,8 @@ # scripted configuration) Class create Foo { - :attribute a - :attribute {b 1} + :property a + :property {b 1} } # Create instance of the class Foo @@ -2349,13 +2530,13 @@ # and object level Class create C { - :attribute x - :attribute {y 1} - :class attribute oa1 + :property x + :property {y 1} + :class attribute oa1 } Object create o { - :attribute oa2 + :property oa2 } @@ -2403,7 +2584,7 @@ # attribute specific type checker Class create Person { - :attribute sex { + :property sex { :type "sex" :method type=sex {name value} { switch -glob $value { @@ -2498,8 +2679,8 @@ .nx-variable {color: #AF663F; font-weight: normal; font-style: normal;}
Class create Foo {
-   :attribute a:boolean
-   :attribute {b:integer 1}
+   :property a:boolean
+   :property {b:integer 1}
 }
@@ -2570,8 +2751,8 @@
 Class create Foo {
-   :attribute a:required
-   :attribute b:boolean,required
+   :property a:required
+   :property b:boolean,required
 }
@@ -2639,9 +2820,9 @@ .nx-variable {color: #AF663F; font-weight: normal; font-style: normal;}
Class create Foo {
-  :attribute {ints:integer,0..n ""}
-  :attribute objs:object,1..n
-  :attribute obj:object,0..1
+  :property {ints:integer,0..n ""}
+  :property objs:object,1..n
+  :property obj:object,0..1
 }
@@ -6321,7 +6502,7 @@ Index: doc/next-tutorial.html =================================================================== diff -u -rad4acf8e7b3c2279b4711aa9cfd5aed6d86e2b98 -raa41f220776456c37553c5daf8e0519d5b51f0b8 --- doc/next-tutorial.html (.../next-tutorial.html) (revision ad4acf8e7b3c2279b4711aa9cfd5aed6d86e2b98) +++ doc/next-tutorial.html (.../next-tutorial.html) (revision aa41f220776456c37553c5daf8e0519d5b51f0b8) @@ -776,15 +776,15 @@

XOTcl was so far released in more than 30 versions. It is described in its detail in more than 20 papers and serves as a basis for other object systems like TclOO [Donal ???]. The scripting language NX and -the Next Scripting Framework NSF 2009] extend the basic ideas of -XOTcl by providing support for language-oriented programming. The -the Next Scripting Framework supports multiple object systems -concurrently. Effectively, every object system has different base -classes for creating objects and classes. Therefore, these object -systems can have different different interfaces and can follow -different naming conventions for built-in methods. Currently, the Next -Scripting Framework is packaged with three object systems: NX, XOTcl -2.0, and TclCool (the language introduced by TIP#279).

+the Next Scripting Framework [Neumann and Sobernig 2009] extend +the basic ideas of XOTcl by providing support for language-oriented +programming. The the Next Scripting Framework supports multiple +object systems concurrently. Effectively, every object system has +different base classes for creating objects and classes. Therefore, +these object systems can have different different interfaces and can +follow different naming conventions for built-in methods. Currently, +the Next Scripting Framework is packaged with three object systems: +NX, XOTcl 2.0, and TclCool (the language introduced by TIP#279).

Languages @@ -2245,7 +2245,7 @@ parameters is computed dynamically from the class structures, object parameters are often used in combination with special setter methods, etc.). Consider the following example, where we define the two -application classes Person and Student with a few attributes.

+application classes Person and Student with a few properties.

Listing 24: Object Parameters