documentation
authorClaus Gittinger <cg@exept.de>
Thu, 25 Apr 1996 18:49:43 +0200
changeset 1293 02fb05148c98
parent 1292 89497fff7f87
child 1294 e26bbb61f6b2
documentation
BContext.st
Block.st
BlockContext.st
CheapBlk.st
CheapBlock.st
CompCode.st
CompiledCode.st
Context.st
ExecFunc.st
ExecutableFunction.st
Message.st
MessageSend.st
Method.st
--- a/BContext.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/BContext.st	Thu Apr 25 18:49:43 1996 +0200
@@ -41,7 +41,14 @@
     (has become necessary with cheap blocks, which have no home).
 
     WARNING: layout and size known by compiler and runtime system - 
-	     do not change.
+             do not change.
+
+    [author:]
+        Claus Gittinger
+
+    [see also:]
+        Context Block Method
+        Exception Signal
 "
 ! !
 
@@ -204,5 +211,5 @@
 !BlockContext class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/BContext.st,v 1.20 1996-04-16 09:28:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/BContext.st,v 1.21 1996-04-25 16:49:34 cg Exp $'
 ! !
--- a/Block.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/Block.st	Thu Apr 25 18:49:43 1996 +0200
@@ -67,7 +67,7 @@
     somewhere up in the calling-tree. Then, to do the long-jump from out of some 
     deeply nested method, simply do: ''catchBlock value''.
 
-    Instance variables:
+    [Instance variables:]
 
       home        <Context>         the context where this block was created (i.e. defined)
                                     this may be a blockContext or a methodContext
@@ -78,27 +78,38 @@
                                     for compiled blocks, this is nil.
 
 
-    Class variables:
+    [Class variables:]
 
       InvalidNewSignal              raised if a Block is tried to be created
                                     with new (which is not allowed).
                                     Only the VM is allowed to create Blocks.
 
+
     NOTICE: layout known by runtime system and compiler - do not change
+
+    [author:]
+        Claus Gittinger
+
+    [see also:]
+        Process Context
+        Collection
+        ( contexts. blocks & unwinding : programming/contexts.html)
 "
 !
 
 examples
 "
-    basic mechanism:
+    define a block and evaluate it:
 
         |b|
 
         b := [ Transcript showCr:'hello' ].
+
         Transcript showCr:'now evaluating the block ...'.
         b value.
 
 
+
     even here, blocks are involved: 
     (although, the compiler optimizes things if possible)
 
@@ -110,6 +121,7 @@
         ]
 
 
+
     here things become obvious:
 
         |yesBlock noBlock|
@@ -122,6 +134,7 @@
               ifFalse:noBlock
 
 
+
     simple loops:
 
       not very objectOriented:
@@ -149,9 +162,11 @@
         ]
 
 
+
     looping over collections:
 
-      bad code:  [only works with numeric-indexable collections]
+      bad code:
+      (only works with numeric-indexable collections)
 
         |i coll|
 
@@ -163,9 +178,11 @@
         ]
 
 
-      just as bad (well, marginally better ;-):
 
-        |coll|   [only works with numeric-indexable collections]
+      just as bad (well, marginally better ;-):
+      (only works with numeric-indexable collections)
+
+        |coll|   
 
         coll := #(9 8 7 6 5).
         1 to:coll size do:[:i |
@@ -173,16 +190,17 @@
         ]
 
 
-      the smalltalk way:
 
-        |coll|   [works with any collection]
+      the smalltalk way:
+      (works with any collection)
+
+        |coll|   
 
         coll := #(9 8 7 6 5).
         coll do:[:element |
             Transcript showCr:element.
         ]
         
-
     Rule: use enumeration protocol of the collection instead of
           manually indexing it. [with few exceptions]
 
@@ -209,7 +227,8 @@
         ] forkAt:(Processor userBackgroundPriority)
 
 
-      handling exceptions:
+
+    handling exceptions:
 
         Object errorSignal handle:[:ex |
             Transcript showCr:'exception handler forces return'.
@@ -221,7 +240,8 @@
         ]
 
 
-      performing cleanup actions:
+
+    performing cleanup actions:
 
         Object errorSignal handle:[:ex |
             Transcript showCr:'exception handler forces return'.
@@ -237,9 +257,9 @@
         ]
 
 
-      delayed execution (visitor pattern):
-      [looking carefully into the example, 
-       C/C++ programmers may raise their eyes]
+    delayed execution (visitor pattern):
+    (looking carefully into the example, 
+     C/C++ programmers may raise their eyes ;-)
 
         |showBlock countBlock 
          howMany 
@@ -1246,6 +1266,6 @@
 !Block class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.54 1996-04-23 14:32:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.55 1996-04-25 16:48:33 cg Exp $'
 ! !
 Block initialize!
--- a/BlockContext.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/BlockContext.st	Thu Apr 25 18:49:43 1996 +0200
@@ -41,7 +41,14 @@
     (has become necessary with cheap blocks, which have no home).
 
     WARNING: layout and size known by compiler and runtime system - 
-	     do not change.
+             do not change.
+
+    [author:]
+        Claus Gittinger
+
+    [see also:]
+        Context Block Method
+        Exception Signal
 "
 ! !
 
@@ -204,5 +211,5 @@
 !BlockContext class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/BlockContext.st,v 1.20 1996-04-16 09:28:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/BlockContext.st,v 1.21 1996-04-25 16:49:34 cg Exp $'
 ! !
--- a/CheapBlk.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/CheapBlk.st	Thu Apr 25 18:49:43 1996 +0200
@@ -47,7 +47,7 @@
     creating method explicitely - otherwise, the system had no 
     chance of finding the source-position of the block.
 
-    Instance variables:
+    [Instance variables:]
 
       selfValue   <Object>          copied self value
                                     (if its a copying block)
@@ -55,6 +55,13 @@
       method      <Method>          method where block was created 
 
     NOTICE: layout known by runtime system and compiler - do not change
+
+    [author:]
+        Claus Gittinger
+
+    [see also:]
+        Block Context Method
+        ( contexts, stacks & unwinding :html: programming/contexts.html )
 "
 ! !
 
@@ -120,5 +127,5 @@
 !CheapBlock class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/CheapBlk.st,v 1.13 1996-04-23 14:04:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/CheapBlk.st,v 1.14 1996-04-25 16:49:05 cg Exp $'
 ! !
--- a/CheapBlock.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/CheapBlock.st	Thu Apr 25 18:49:43 1996 +0200
@@ -47,7 +47,7 @@
     creating method explicitely - otherwise, the system had no 
     chance of finding the source-position of the block.
 
-    Instance variables:
+    [Instance variables:]
 
       selfValue   <Object>          copied self value
                                     (if its a copying block)
@@ -55,6 +55,13 @@
       method      <Method>          method where block was created 
 
     NOTICE: layout known by runtime system and compiler - do not change
+
+    [author:]
+        Claus Gittinger
+
+    [see also:]
+        Block Context Method
+        ( contexts, stacks & unwinding :html: programming/contexts.html )
 "
 ! !
 
@@ -120,5 +127,5 @@
 !CheapBlock class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CheapBlock.st,v 1.13 1996-04-23 14:04:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CheapBlock.st,v 1.14 1996-04-25 16:49:05 cg Exp $'
 ! !
--- a/CompCode.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/CompCode.st	Thu Apr 25 18:49:43 1996 +0200
@@ -44,14 +44,14 @@
     (the compilers create Blocks, Methods etc.)
 
 
-    Instance variables:
+    [Instance variables:]
 
       flags       <SmallInteger>    special flag bits coded in a number
       byteCode    <ByteArray>       bytecode if its an interpreted codeobject
       literals    <Array>           the block/methods literal array
 
 
-    Class variables:
+    [Class variables:]
 
       NoByteCodeSignal              raised if a codeObject is about to be executed
                                     which has neither code nor byteCode (i.e. both are nil)
@@ -64,6 +64,10 @@
     all of these signals are children of ExecutionErrorSignal.
 
     NOTICE: layout known by runtime system and compiler - do not change
+
+    [author:]
+        Claus Gittinger
+
 "
 ! !
 
@@ -372,6 +376,6 @@
 !CompiledCode class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.28 1996-04-23 14:04:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.29 1996-04-25 16:48:59 cg Exp $'
 ! !
 CompiledCode initialize!
--- a/CompiledCode.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/CompiledCode.st	Thu Apr 25 18:49:43 1996 +0200
@@ -44,14 +44,14 @@
     (the compilers create Blocks, Methods etc.)
 
 
-    Instance variables:
+    [Instance variables:]
 
       flags       <SmallInteger>    special flag bits coded in a number
       byteCode    <ByteArray>       bytecode if its an interpreted codeobject
       literals    <Array>           the block/methods literal array
 
 
-    Class variables:
+    [Class variables:]
 
       NoByteCodeSignal              raised if a codeObject is about to be executed
                                     which has neither code nor byteCode (i.e. both are nil)
@@ -64,6 +64,10 @@
     all of these signals are children of ExecutionErrorSignal.
 
     NOTICE: layout known by runtime system and compiler - do not change
+
+    [author:]
+        Claus Gittinger
+
 "
 ! !
 
@@ -372,6 +376,6 @@
 !CompiledCode class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.28 1996-04-23 14:04:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.29 1996-04-25 16:48:59 cg Exp $'
 ! !
 CompiledCode initialize!
--- a/Context.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/Context.st	Thu Apr 25 18:49:43 1996 +0200
@@ -147,6 +147,10 @@
         
     WARNING: layout and size known by the compiler and runtime system - do not change.
 
+
+    [author:]
+        Claus Gittinger
+
     [see also:]
         Block Process Method
         ( contexts, stacks & unwinding : programming/contexts.html)
@@ -1159,6 +1163,6 @@
 !Context class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.56 1996-04-25 11:07:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.57 1996-04-25 16:49:43 cg Exp $'
 ! !
 Context initialize!
--- a/ExecFunc.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/ExecFunc.st	Thu Apr 25 18:49:43 1996 +0200
@@ -43,7 +43,7 @@
     the compilers create instances of Method & Block, while compiling.
 
 
-    Instance variables:
+    [Instance variables:]
 
       code        <not_an_object>   the function pointer to the machine code.
                                     Not accessable from smalltalk code.
@@ -51,7 +51,7 @@
 
 
 
-    Class variables:
+    [Class variables:]
 
       ExecutionErrorSignal          parent of all execution errors
                                     (not raised itself)
@@ -59,6 +59,9 @@
       InvalidCodeSignal             codeObject is not executable
 
     NOTICE: layout known by runtime system and compiler - do not change
+
+    [author:]
+        Claus Gittinger
 "
 ! !
 
@@ -295,6 +298,6 @@
 !ExecutableFunction class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.25 1996-04-23 14:04:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.26 1996-04-25 16:48:53 cg Exp $'
 ! !
 ExecutableFunction initialize!
--- a/ExecutableFunction.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/ExecutableFunction.st	Thu Apr 25 18:49:43 1996 +0200
@@ -43,7 +43,7 @@
     the compilers create instances of Method & Block, while compiling.
 
 
-    Instance variables:
+    [Instance variables:]
 
       code        <not_an_object>   the function pointer to the machine code.
                                     Not accessable from smalltalk code.
@@ -51,7 +51,7 @@
 
 
 
-    Class variables:
+    [Class variables:]
 
       ExecutionErrorSignal          parent of all execution errors
                                     (not raised itself)
@@ -59,6 +59,9 @@
       InvalidCodeSignal             codeObject is not executable
 
     NOTICE: layout known by runtime system and compiler - do not change
+
+    [author:]
+        Claus Gittinger
 "
 ! !
 
@@ -295,6 +298,6 @@
 !ExecutableFunction class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.25 1996-04-23 14:04:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.26 1996-04-25 16:48:53 cg Exp $'
 ! !
 ExecutableFunction initialize!
--- a/Message.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/Message.st	Thu Apr 25 18:49:43 1996 +0200
@@ -69,6 +69,9 @@
 
     [See also:]
         Signal  Exception  MessageSend
+
+    [author:]
+        Claus Gittinger
 "
 ! !
 
@@ -179,5 +182,5 @@
 !Message class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Message.st,v 1.18 1996-04-23 14:47:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Message.st,v 1.19 1996-04-25 16:48:48 cg Exp $'
 ! !
--- a/MessageSend.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/MessageSend.st	Thu Apr 25 18:49:43 1996 +0200
@@ -66,6 +66,9 @@
 
     [See also:]
         Block  Message
+
+    [author:]
+        Claus Gittinger
 "
 !
 
@@ -211,5 +214,5 @@
 !MessageSend class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/MessageSend.st,v 1.10 1996-04-23 14:54:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/MessageSend.st,v 1.11 1996-04-25 16:48:19 cg Exp $'
 ! !
--- a/Method.st	Thu Apr 25 18:47:14 1996 +0200
+++ b/Method.st	Thu Apr 25 18:49:43 1996 +0200
@@ -62,25 +62,28 @@
     which is identified as executable (assuming that the first instance variable
     is the machine-code address) - this allows for easy future extension.
 
-    Instance variables:
+    [Instance variables:]
 
-	source          <String>        the source itself (if sourcePosition isNil)
-					or the fileName where the source is found
+        source          <String>        the source itself (if sourcePosition isNil)
+                                        or the fileName where the source is found
 
-	sourcePosition  <Integer>       the position of the methods chunk in the file
+        sourcePosition  <Integer>       the position of the methods chunk in the file
 
-	category        <Symbol>        the methods category
-	package         <Symbol>        the package, in which the methods was defined
+        category        <Symbol>        the methods category
+        package         <Symbol>        the package, in which the methods was defined
 
 
-    Class variables:
+    [Class variables:]
 
-	PrivateMethodSignal             raised on privacy violation (see docu)
+        PrivateMethodSignal             raised on privacy violation (see docu)
 
-	LastFileReference               weak reference to the last sourceFile
-	LastSourceFileName              to speedup source access via NFS
+        LastFileReference               weak reference to the last sourceFile
+        LastSourceFileName              to speedup source access via NFS
 
     WARNING: layout known by compiler and runtime system - dont change
+
+    [author:]
+        Claus Gittinger
 "
 !
 
@@ -2105,6 +2108,6 @@
 !Method class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.87 1996-04-23 14:04:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.88 1996-04-25 16:49:19 cg Exp $'
 ! !
 Method initialize!