[drawRect
strick**20120226015711
 Ignore-this: 63e5f75e28e8a7b0431c9d7907ef0c0c
] hunk ./terse-a1/res/raw/prelude.txt 2
-      1 pl/ 22
+      1 pl: 22
hunk ./terse-a1/res/raw/prelude.txt 4
-      ('h' ap//// 'e') ap/ ('l' ap/ 'lo')
+      ('h' ap:::: 'e') ap: ('l' ap: 'lo')
hunk ./terse-a1/res/raw/prelude.txt 6
-      'he' ap/ 'l' ap// 'lo'
+      'he' ap: 'l' ap:: 'lo'
hunk ./terse-a1/res/raw/prelude.txt 8
-      3 ti/ 3 pl// 4 ti/ 4
+      3 ti: 3 pl:: 4 ti: 4
hunk ./terse-a1/res/raw/prelude.txt 11
-      m= Dict new. m at/ 10 put/ 100. m at/ 10 pl// 42
+      m= Dict new. m at: 10 put: 100. m at: 10 pl:: 42
hunk ./terse-a1/res/raw/prelude.txt 13
-      m= Dict new. m at// 4 pl/ 6 put// 10 ti/ 10. m at/ 10 pl// 42
+      m= Dict new. m at:: 4 pl: 6 put:: 10 ti: 10. m at: 10 pl:: 42
hunk ./terse-a1/res/raw/prelude.txt 16
-      3 lt/ 5   y//[ 'ok' ] n// [ 'oops' ]
+      3 lt: 5   y::[ 'ok' ] n:: [ 'oops' ]
hunk ./terse-a1/res/raw/prelude.txt 18
-      8 lt/ 0 y//[ 'ok' ] n// [ 'oops' ]
+      8 lt: 0 y::[ 'ok' ] n:: [ 'oops' ]
hunk ./terse-a1/res/raw/prelude.txt 20
-      2 lt/ 3   y//[ 'ok' ]
+      2 lt: 3   y::[ 'ok' ]
hunk ./terse-a1/res/raw/prelude.txt 22
-      8 lt/ 0    y//[ 'ok' ]
+      8 lt: 0    y::[ 'ok' ]
hunk ./terse-a1/res/raw/prelude.txt 24
-      -8 lt/ 0    n//[ 'ok' ]
+      -8 lt: 0    n::[ 'ok' ]
hunk ./terse-a1/res/raw/prelude.txt 27
-	'Vec' eq/ Vec name
+	'Vec' eq: Vec name
hunk ./terse-a1/res/raw/prelude.txt 29
-equals VEC{ 4. 7. 9. }
-    VEC{ 2 ti/ 2. 7. 3 ti/ 3. }
+equals VEC[ 4. 7. 9. ]
+    VEC[ 2 ti: 2. 7. 3 ti: 3. ]
hunk ./terse-a1/res/raw/prelude.txt 41
-	x, y = Vec{3. 4}. x ti/ x pl// y ti/ y.
+	x, y = Vec[3. 4]. x ti: x pl:: y ti: y.
hunk ./terse-a1/res/raw/prelude.txt 43
-	x, y = 3, 4. x ti/ x pl// y ti/ y -- pl/ 1.
+	x, y = 3, 4. x ti: x pl:: y ti: y -- pl: 1.
hunk ./terse-a1/res/raw/prelude.txt 45
-meth Vec eq/
-  a cls name equals/ 'Vec'
-    n// ['Vec.eq/ expected Vec argument, but got' err/ Vec{a. a cls. a cls name. a cls name equals/ 'Vec'} ]
-    y// [
-      self len eq/ a len
-        n// ['Vec.eq/ got different length Vecs' err/ VEC{self. a}]
-        y// [
+meth Vec eq:
+  a cls name equals: 'Vec'
+    n:: ['Vec.eq: expected Vec argument, but got' err: VEC[a. a cls. a cls name. a cls name equals: 'Vec'] ]
+    y:: [
+      self len eq: a len
+        n:: ['Vec.eq: got different length Vecs' err: VEC[self. a]]
+        y:: [
hunk ./terse-a1/res/raw/prelude.txt 53
-          self len do/ [ /i
-	    z append/// self at/ i eq// a at/ i.
+          self len do: [ :i
+	    z append::: self at: i eq:: a at: i.
hunk ./terse-a1/res/raw/prelude.txt 60
-equals Vec{1. 1. 0.}
-  Vec{'foo'. 100. 'z'} eq/ Vec{'foo'. 100. 'zoo'}
+equals Vec[1. 1. 0.]
+  Vec['foo'. 100. 'z'] eq: Vec['foo'. 100. 'zoo']
hunk ./terse-a1/res/raw/prelude.txt 63
-meth Vec collect/
+meth Vec collect:
hunk ./terse-a1/res/raw/prelude.txt 66
-    self do/ [ /x .
-      z ap/ ( a run/ x ) ] .
+    self do: [ :x .
+      z ap: ( a run: x ) ] .
hunk ./terse-a1/res/raw/prelude.txt 70
-equals VEC{ 100. 400. 900. }
-  VEC{ 10. 20. 30. } collect/ [/x . x ti/ x]
+equals VEC[ 100. 400. 900. ]
+  VEC[ 10. 20. 30. ] collect: [:x . x ti: x]
hunk ./terse-a1/res/raw/prelude.txt 73
-meth Vec select/
+meth Vec select:
hunk ./terse-a1/res/raw/prelude.txt 76
-    self do/ [ /x .
-      ( a run/ x ) y/ [
-        z ap/ x ] ] .
+    self do: [ :x .
+      ( a run: x ) y: [
+        z ap: x ] ] .
hunk ./terse-a1/res/raw/prelude.txt 81
-equals VEC{ 10. 20. }
-  VEC{ 10. 20. 30. } select/ [/x . x lt/ 25]
+equals VEC[ 10. 20. ]
+  VEC[ 10. 20. 30. ] select: [:x . x lt: 25]
hunk ./terse-a1/res/raw/prelude.txt 84
-meth Blk join/
+meth Blk join:
hunk ./terse-a1/res/raw/prelude.txt 87
-  self vec do/ [ /x .
-    front y/ [front= 0]
-          n/ [ sb ap/ a].
-    sb ap/ x ].
+  self vec do: [ :x .
+    front y: [front= 0]
+          n: [ sb ap: a].
+    sb ap: x ].
hunk ./terse-a1/res/raw/prelude.txt 93
-  self join/ ' '
+  self join: ' '
hunk ./terse-a1/res/raw/prelude.txt 95
-  self join/ ''
+  self join: ''
hunk ./terse-a1/res/raw/prelude.txt 97
-meth Vec join/
+meth Vec join:
hunk ./terse-a1/res/raw/prelude.txt 100
-  self do/ [ /x .
-    front y/ [front= 0]
-          n/ [ sb ap/ a].
-    sb ap/ x str ].
+  self do: [ :x .
+    front y: [front= 0]
+          n: [ sb ap: a].
+    sb ap: x str ].
hunk ./terse-a1/res/raw/prelude.txt 106
-  self join/ ' '
+  self join: ' '
hunk ./terse-a1/res/raw/prelude.txt 108
-  self join/ ''
+  self join: ''
hunk ./terse-a1/res/raw/prelude.txt 110
-equals Vec{33. 44}
+equals Vec[33. 44]
hunk ./terse-a1/res/raw/prelude.txt 112
-equals Vec{33. 44. 55}
-  33, 44, 50 pl/ 4 -- pl/ 1
+equals Vec[33. 44. 55]
+  33, 44, 50 pl: 4 -- pl: 1
hunk ./terse-a1/res/raw/prelude.txt 116
-  ['once'. 'upon'. 'a'. 'time']join/' '
+  ['once'. 'upon'. 'a'. 'time']join:' '
hunk ./terse-a1/res/raw/prelude.txt 123
-  Vec{
-      '|link|/|[RESET]|'.
+  Vec[
hunk ./terse-a1/res/raw/prelude.txt 129
-  }
+  ]
hunk ./terse-a1/res/raw/prelude.txt 131
-meth Home handle/query/
-  "Default class for handling '/'."
+meth Home handle:query:
+  "Default class for handling ':'."
hunk ./terse-a1/res/raw/prelude.txt 134
-  Dict new  at/ 'type' put/ 'list'
-          -- at/ 'title' put/ a
-          -- at/ 'value' put/ Vec[
+  Dict new  at: 'type' put: 'list'
+          -- at: 'title' put: a
+          -- at: 'value' put: VEC[
hunk ./terse-a1/res/raw/prelude.txt 146
-meth Browse handle/query/
-  ww= a split/ '.' .  "It's a regexp."
+meth Browse handle:query:
+  ww= a split: '.' .  "It's a regexp."
hunk ./terse-a1/res/raw/prelude.txt 154
-  ( wl eq/ 1 ) y/ [
+  ( wl eq: 1 ) y: [
hunk ./terse-a1/res/raw/prelude.txt 156
-    gk= clss dir select/ [ /i .
-        AND{ clss at/ i -- cls name ends/ 'Cls' .
-             OR{ clss at/ i -- name ends/ 'Cls' -- not .
-                 clss at/ i -- cls name eq/ 'ClsCls' . } } ] .
+    gk= clss dir select: [ :i .
+        AND[ clss at: i -- cls name ends: 'Cls' .
+             OR[ clss at: i -- name ends: 'Cls' -- not .
+                 clss at: i -- cls name eq: 'ClsCls' . ] ] ] .
hunk ./terse-a1/res/raw/prelude.txt 162
-    gk do/ [ /k .
-        kc= clss at/ k .
+    gk do: [ :k .
+        kc= clss at: k .
hunk ./terse-a1/res/raw/prelude.txt 165
-        v ap/ ( Jam{'|link|/Browse.' . kn . '|' . kn . '|'}, kc meths join/ ' ' ) .
+        v ap: ( JAM['|link|/Browse.' . kn . '|' . kn . '|'], kc meths join: ' ' ) .
hunk ./terse-a1/res/raw/prelude.txt 170
-    z= Dict new  at/ 'type' put/ 'list'
-          -- at/ 'title' put/ 'Browsing All Classes'
-          -- at/ 'extra' put/ ( clss )
-          -- at/ 'extraKeys' put/ ( clss dir )
-          -- at/ 'extraCollect' put/ ( clss dir collect/ [ /i . ( clss at/ i ) cls cls name ] )
-          -- at/ 'extraSelect' put/ gk
-          -- at/ 'value' put/ v
+    z= Dict new  at: 'type' put: 'list'
+          -- at: 'title' put: 'Browsing All Classes'
+          -- at: 'extra' put: ( clss )
+          -- at: 'extraKeys' put: ( clss dir )
+          -- at: 'extraCollect' put: ( clss dir collect: [ :i . ( clss at: i ) cls cls name ] )
+          -- at: 'extraSelect' put: gk
+          -- at: 'value' put: v
hunk ./terse-a1/res/raw/prelude.txt 181
-  ( wl eq/ 2 ) y/ [
-    cn= ww at/ 1 .  "class name"
-    co= clss at/ cn toLower .   "class object"
+  ( wl eq: 2 ) y: [
+    cn= ww at: 1 .  "class name"
+    co= clss at: cn toLower .   "class object"
hunk ./terse-a1/res/raw/prelude.txt 186
-    d dir do/ [ /x . "For each class method"
-      v ap/ ( Jam{ '|link|/EditMethod.' . cn . 'Cls.' . x . '|class ' . x. '|' }, d at/ x -- str ) .
+    d dir do: [ :x . "For each class method"
+      v ap: ( Jam[ '|link|/EditMethod.' . cn . 'Cls.' . x . '|class ' . x. '|' ], d at: x -- str ) .
hunk ./terse-a1/res/raw/prelude.txt 191
-    d dir do/ [ /x . "For each instance method"
-      v ap/ ( Jam{ '|link|/EditMethod.' . cn . '.' . x . '|' . x. '|' }, d at/ x -- str ) .
+    d dir do: [ :x . "For each instance method"
+      v ap: ( Jam[ '|link|/EditMethod.' . cn . '.' . x . '|' . x. '|' ], d at: x -- str ) .
hunk ./terse-a1/res/raw/prelude.txt 195
-    z= Dict new  at/ 'type' put/ 'list'
-          -- at/ 'title' put/ ( 'Browsing Class' ap/ cn )
-          -- at/ 'value' put/ v
+    z= Dict new  at: 'type' put: 'list'
+          -- at: 'title' put: ( 'Browsing Class' ap: cn )
+          -- at: 'value' put: v
hunk ./terse-a1/res/raw/prelude.txt 205
-meth EditMethod handle/query/
-  ww= a split/ '.' .
+meth EditMethod handle:query:
+  ww= a split: '.' .
hunk ./terse-a1/res/raw/prelude.txt 210
-  ( wl ne/ 3 ) y/ [ Zork foo ] .
+  ( wl ne: 3 ) y: [ Zork foo ] .
hunk ./terse-a1/res/raw/prelude.txt 212
-  cn= ww at/ 1 .  "class name"
-  mn= ww at/ 2 .  "method name"
+  cn= ww at: 1 .  "class name"
+  mn= ww at: 2 .  "method name"
hunk ./terse-a1/res/raw/prelude.txt 215
-  co= clss at/ cn toLower .   "class object"
-  mo= co methDefs at/ mn .  "method object"
+  co= clss at: cn toLower .   "class object"
+  mo= co methDefs at: mn .  "method object"
hunk ./terse-a1/res/raw/prelude.txt 218
-  z= Dict new  at/ 'type' p/ 'edit'
-          -- at/ 'title' p/ ( 'Editing Class' ap/ cn -- ap/ ' Method ' -- ap/ mn )
-          -- at/ 'value' p/ ( mo str )
-          -- at/ 'action' p/ ( '/SubmitMethod' )
-          -- at/ 'field1' p/ 'ClassName'
-          -- at/ 'value1' p/ cn
-          -- at/ 'field2' p/ 'MethodName'
-          -- at/ 'value2' p/ mn
+  z= Dict new  at: 'type' p: 'edit'
+          -- at: 'title' p: ( 'Editing Class' ap: cn -- ap: ' Method ' -- ap: mn )
+          -- at: 'value' p: ( mo str )
+          -- at: 'action' p: ( '/SubmitMethod' )
+          -- at: 'field1' p: 'ClassName'
+          -- at: 'value1' p: cn
+          -- at: 'field2' p: 'MethodName'
+          -- at: 'value2' p: mn
hunk ./terse-a1/res/raw/prelude.txt 231
-meth SubmitMethod handle/query/
+meth SubmitMethod handle:query:
hunk ./terse-a1/res/raw/prelude.txt 234
-  cname= b at/ 'ClassName' .
-  mname= b at/ 'MethodName' .
+  cname= b at: 'ClassName' .
+  mname= b at: 'MethodName' .
hunk ./terse-a1/res/raw/prelude.txt 237
-  co= clss at/ cname tolower .
+  co= clss at: cname tolower .
hunk ./terse-a1/res/raw/prelude.txt 239
-  z= co definemethod/ mname abbrev/ '' doc/ '' code/ ( b at/ 'text' ) .
+  z= co definemethod: mname abbrev: '' doc: '' code: ( b at: 'text' ) .
hunk ./terse-a1/res/raw/prelude.txt 243
-	'title', Join{ 'Submitted Class'. cname. ' Method '. mname }.
-	'value', Vec{ Vec{ '|link|/Home|Home|'.  'Home.' } }.
+	'title', Join[ 'Submitted Class'. cname. ' Method '. mname ].
+	'value', Vec[ Vec[ '|link|/Home|Home|'.  'Home.' ] ].
hunk ./terse-a1/res/raw/prelude.txt 252
-meth FormDoit handle/query/
+meth FormDoit handle:query:
hunk ./terse-a1/res/raw/prelude.txt 261
-meth SubmitDoit handle/query/
-  z= Tmp new eval/ ( b at/ 'text' ).
+meth SubmitDoit handle:query:
+  z= Tmp new eval: ( b at: 'text' ).
hunk ./terse-a1/res/raw/prelude.txt 264
-       'title', [ 'doit/'. ( b at/ 'text' ) str ] join/ ' '.
+       'title', [ 'doit:'. ( b at: 'text' ) str ] join: ' '.
hunk ./terse-a1/res/raw/prelude.txt 270
-meth DrawLine handle/query/
-  DICT{ 'type', 'draw'.
+meth DrawLine handle:query:
+  DICT[ 'type', 'draw'.
hunk ./terse-a1/res/raw/prelude.txt 273
-	'value', Vec{
-           Vec{ 'line'. 10. 400. 50. 300. 2 }.
-	}.
+	'value', Vec[
+           Vec[ 'line'. 10. 400. 50. 300. 2 ].
+	].
hunk ./terse-a1/res/raw/prelude.txt 278
-  }
+  ]
hunk ./terse-a1/res/raw/prelude.txt 281
-meth DrawRect handle/query/
+meth DrawRect handle:query:
hunk ./terse-a1/res/raw/prelude.txt 285
-      v ap/ ('rect', 40 ti/ x, 30 ti/ y, 20, 15, 2, 'green').
+      v ap: ('rect', 80 ti: x, 70 ti: y, 20, 15, 2, 'green').
+      v ap: ('text', 80 ti: x --pl: 25, 70 ti: y --pl: 30, JAM[x str. ','. y str] ).
hunk ./terse-a1/res/raw/prelude.txt 288
-  DICT{ 'type', 'draw'.
+  DICT[ 'type', 'draw'.
hunk ./terse-a1/res/raw/prelude.txt 293
-  }
+  ]
hunk ./terse-a1/res/raw/prelude.txt 297
-meth DrawStar handle/query/
+meth DrawStar handle:query:
hunk ./terse-a1/res/raw/prelude.txt 302
-  Vec{ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. } do/ [ /i
-    ( 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 ) do/ [ /j
-      x= i pl/ j --sin ti/ 290 --pl/ 300.
-      y= i pl/ j --cos ti/ 290 --pl/ 300.
-      v ap/ Vec{ 'line'. 300. 300. x. y. }.
+  ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) do: [ :i
+    ( 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 ) do: [ :j
+      x= i pl: j --sin ti: 290 --pl: 300.
+      y= i pl: j --cos ti: 290 --pl: 300.
+      v ap: VEC[ 'line'. 300. 300. x. y. ].
hunk ./terse-a1/res/raw/prelude.txt 310
-  DICT{ 'type', 'draw'.
+  DICT[ 'type', 'draw'.
hunk ./terse-a1/res/raw/prelude.txt 315
-  }
+  ]
hunk ./terse-a1/src/terse/a1/TerseActivity.java 15
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
hunk ./terse-a1/src/terse/a1/TerseActivity.java 60
+	static Pattern LINK_P = Pattern
+			.compile("[|]link[|](/[-A-Za-z_0-9.:]*)[|]([^|]+)[|](.*)");
+
hunk ./terse-a1/src/terse/a1/TerseActivity.java 176
+							Matcher m = LINK_P.matcher(label);
+							if (m.lookingAt()) {
+								label = m.group(2) + " " + m.group(3);
+							}
hunk ./terse-a1/src/terse/a1/TerseActivity.java 359
-			Paint paint = new Paint();
-			paint.setColor(Color.GREEN);
-			paint.setStrokeWidth(2);
+			Paint green = new Paint();
+			green.setColor(Color.GREEN);
+			green.setStrokeWidth(2);
+
+			Paint blue = new Paint();
+			blue.setColor(Color.BLUE);
+			blue.setStrokeWidth(1);
+			
+			Paint yellow = new Paint();
+			yellow.setColor(Color.YELLOW);
+			yellow.setStrokeWidth(1);
+			yellow.setTextSize(12);
+			
hunk ./terse-a1/src/terse/a1/TerseActivity.java 380
-					canvas.drawLine(x1, y1, x2, y2, paint);
+					canvas.drawLine(x1, y1, x2, y2, green);
+				} else if (drawtype.equals("rect")) {
+					float x1 = floatAt(p, 1);
+					float y1 = floatAt(p, 2);
+					float x2 = floatAt(p, 3) + x1;
+					float y2 = floatAt(p, 4) + y1;
+					canvas.drawRect(x1, y1, x2, y2, green);
+				} else if (drawtype.equals("text")) {
+					float x1 = floatAt(p, 1);
+					float y1 = floatAt(p, 2);
+					String text = stringAt(p, 3);
+					canvas.drawText(text, x1, y1, yellow);
hunk ./terse-vm/src/terse/vm/Pro.java 152
-		say("CMP <%s> <%s>", this, obj);
+		//say("CMP <%s> <%s>", this, obj);
hunk ./terse-vm/src/terse/vm/Pro.java 156
-				say("CMP cls.name <%s> <%s>", this.cls.name, that.cls.name);
+				//say("CMP cls.name <%s> <%s>", this.cls.name, that.cls.name);
hunk ./terse-vm/src/terse/vm/Pro.java 163
-				say("CMP inner <%s> <%s>", innerThis, innerThat);
+				//say("CMP inner <%s> <%s>", innerThis, innerThat);
hunk ./terse-vm/src/terse/vm/Pro.java 167
-		say("CMP identityHashCode <%s> <%s>", System.identityHashCode(this), System.identityHashCode(obj));
+		//say("CMP identityHashCode <%s> <%s>", System.identityHashCode(this), System.identityHashCode(obj));
hunk ./terse-vm/src/terse/vm/Terp.java 463
-			// Ignore.
+			Math.abs(0);
hunk ./terse-web/prelude.txt 2
-      1 pl/ 22
+      1 pl: 22
hunk ./terse-web/prelude.txt 4
-      ('h' ap//// 'e') ap/ ('l' ap/ 'lo')
+      ('h' ap:::: 'e') ap: ('l' ap: 'lo')
hunk ./terse-web/prelude.txt 6
-      'he' ap/ 'l' ap// 'lo'
+      'he' ap: 'l' ap:: 'lo'
hunk ./terse-web/prelude.txt 8
-      3 ti/ 3 pl// 4 ti/ 4
+      3 ti: 3 pl:: 4 ti: 4
hunk ./terse-web/prelude.txt 11
-      m= Dict new. m at/ 10 put/ 100. m at/ 10 pl// 42
+      m= Dict new. m at: 10 put: 100. m at: 10 pl:: 42
hunk ./terse-web/prelude.txt 13
-      m= Dict new. m at// 4 pl/ 6 put// 10 ti/ 10. m at/ 10 pl// 42
+      m= Dict new. m at:: 4 pl: 6 put:: 10 ti: 10. m at: 10 pl:: 42
hunk ./terse-web/prelude.txt 16
-      3 lt/ 5   y//[ 'ok' ] n// [ 'oops' ]
+      3 lt: 5   y::[ 'ok' ] n:: [ 'oops' ]
hunk ./terse-web/prelude.txt 18
-      8 lt/ 0 y//[ 'ok' ] n// [ 'oops' ]
+      8 lt: 0 y::[ 'ok' ] n:: [ 'oops' ]
hunk ./terse-web/prelude.txt 20
-      2 lt/ 3   y//[ 'ok' ]
+      2 lt: 3   y::[ 'ok' ]
hunk ./terse-web/prelude.txt 22
-      8 lt/ 0    y//[ 'ok' ]
+      8 lt: 0    y::[ 'ok' ]
hunk ./terse-web/prelude.txt 24
-      -8 lt/ 0    n//[ 'ok' ]
+      -8 lt: 0    n::[ 'ok' ]
hunk ./terse-web/prelude.txt 27
-	'Vec' eq/ Vec name
+	'Vec' eq: Vec name
hunk ./terse-web/prelude.txt 29
-equals VEC{ 4. 7. 9. }
-    VEC{ 2 ti/ 2. 7. 3 ti/ 3. }
+equals VEC[ 4. 7. 9. ]
+    VEC[ 2 ti: 2. 7. 3 ti: 3. ]
hunk ./terse-web/prelude.txt 41
-	x, y = Vec{3. 4}. x ti/ x pl// y ti/ y.
+	x, y = Vec[3. 4]. x ti: x pl:: y ti: y.
hunk ./terse-web/prelude.txt 43
-	x, y = 3, 4. x ti/ x pl// y ti/ y -- pl/ 1.
+	x, y = 3, 4. x ti: x pl:: y ti: y -- pl: 1.
hunk ./terse-web/prelude.txt 45
-meth Vec eq/
-  a cls name equals/ 'Vec'
-    n// ['Vec.eq/ expected Vec argument, but got' err/ Vec{a. a cls. a cls name. a cls name equals/ 'Vec'} ]
-    y// [
-      self len eq/ a len
-        n// ['Vec.eq/ got different length Vecs' err/ VEC{self. a}]
-        y// [
+meth Vec eq:
+  a cls name equals: 'Vec'
+    n:: ['Vec.eq: expected Vec argument, but got' err: VEC[a. a cls. a cls name. a cls name equals: 'Vec'] ]
+    y:: [
+      self len eq: a len
+        n:: ['Vec.eq: got different length Vecs' err: VEC[self. a]]
+        y:: [
hunk ./terse-web/prelude.txt 53
-          self len do/ [ /i
-	    z append/// self at/ i eq// a at/ i.
+          self len do: [ :i
+	    z append::: self at: i eq:: a at: i.
hunk ./terse-web/prelude.txt 60
-equals Vec{1. 1. 0.}
-  Vec{'foo'. 100. 'z'} eq/ Vec{'foo'. 100. 'zoo'}
+equals Vec[1. 1. 0.]
+  Vec['foo'. 100. 'z'] eq: Vec['foo'. 100. 'zoo']
hunk ./terse-web/prelude.txt 63
-meth Vec collect/
+meth Vec collect:
hunk ./terse-web/prelude.txt 66
-    self do/ [ /x .
-      z ap/ ( a run/ x ) ] .
+    self do: [ :x .
+      z ap: ( a run: x ) ] .
hunk ./terse-web/prelude.txt 70
-equals VEC{ 100. 400. 900. }
-  VEC{ 10. 20. 30. } collect/ [/x . x ti/ x]
+equals VEC[ 100. 400. 900. ]
+  VEC[ 10. 20. 30. ] collect: [:x . x ti: x]
hunk ./terse-web/prelude.txt 73
-meth Vec select/
+meth Vec select:
hunk ./terse-web/prelude.txt 76
-    self do/ [ /x .
-      ( a run/ x ) y/ [
-        z ap/ x ] ] .
+    self do: [ :x .
+      ( a run: x ) y: [
+        z ap: x ] ] .
hunk ./terse-web/prelude.txt 81
-equals VEC{ 10. 20. }
-  VEC{ 10. 20. 30. } select/ [/x . x lt/ 25]
+equals VEC[ 10. 20. ]
+  VEC[ 10. 20. 30. ] select: [:x . x lt: 25]
hunk ./terse-web/prelude.txt 84
-meth Blk join/
+meth Blk join:
hunk ./terse-web/prelude.txt 87
-  self vec do/ [ /x .
-    front y/ [front= 0]
-          n/ [ sb ap/ a].
-    sb ap/ x ].
+  self vec do: [ :x .
+    front y: [front= 0]
+          n: [ sb ap: a].
+    sb ap: x ].
hunk ./terse-web/prelude.txt 93
-  self join/ ' '
+  self join: ' '
hunk ./terse-web/prelude.txt 95
-  self join/ ''
+  self join: ''
hunk ./terse-web/prelude.txt 97
-meth Vec join/
+meth Vec join:
hunk ./terse-web/prelude.txt 100
-  self do/ [ /x .
-    front y/ [front= 0]
-          n/ [ sb ap/ a].
-    sb ap/ x str ].
+  self do: [ :x .
+    front y: [front= 0]
+          n: [ sb ap: a].
+    sb ap: x str ].
hunk ./terse-web/prelude.txt 106
-  self join/ ' '
+  self join: ' '
hunk ./terse-web/prelude.txt 108
-  self join/ ''
+  self join: ''
hunk ./terse-web/prelude.txt 110
-equals Vec{33. 44}
+equals Vec[33. 44]
hunk ./terse-web/prelude.txt 112
-equals Vec{33. 44. 55}
-  33, 44, 50 pl/ 4 -- pl/ 1
+equals Vec[33. 44. 55]
+  33, 44, 50 pl: 4 -- pl: 1
hunk ./terse-web/prelude.txt 116
-  ['once'. 'upon'. 'a'. 'time']join/' '
+  ['once'. 'upon'. 'a'. 'time']join:' '
hunk ./terse-web/prelude.txt 123
-  Vec{
-      '|link|/|[RESET]|'.
+  Vec[
hunk ./terse-web/prelude.txt 129
-  }
+  ]
hunk ./terse-web/prelude.txt 131
-meth Home handle/query/
-  "Default class for handling '/'."
+meth Home handle:query:
+  "Default class for handling ':'."
hunk ./terse-web/prelude.txt 134
-  Dict new  at/ 'type' put/ 'list'
-          -- at/ 'title' put/ a
-          -- at/ 'value' put/ Vec[
+  Dict new  at: 'type' put: 'list'
+          -- at: 'title' put: a
+          -- at: 'value' put: VEC[
hunk ./terse-web/prelude.txt 146
-meth Browse handle/query/
-  ww= a split/ '.' .  "It's a regexp."
+meth Browse handle:query:
+  ww= a split: '.' .  "It's a regexp."
hunk ./terse-web/prelude.txt 154
-  ( wl eq/ 1 ) y/ [
+  ( wl eq: 1 ) y: [
hunk ./terse-web/prelude.txt 156
-    gk= clss dir select/ [ /i .
-        AND{ clss at/ i -- cls name ends/ 'Cls' .
-             OR{ clss at/ i -- name ends/ 'Cls' -- not .
-                 clss at/ i -- cls name eq/ 'ClsCls' . } } ] .
+    gk= clss dir select: [ :i .
+        AND[ clss at: i -- cls name ends: 'Cls' .
+             OR[ clss at: i -- name ends: 'Cls' -- not .
+                 clss at: i -- cls name eq: 'ClsCls' . ] ] ] .
hunk ./terse-web/prelude.txt 162
-    gk do/ [ /k .
-        kc= clss at/ k .
+    gk do: [ :k .
+        kc= clss at: k .
hunk ./terse-web/prelude.txt 165
-        v ap/ ( Jam{'|link|/Browse.' . kn . '|' . kn . '|'}, kc meths join/ ' ' ) .
+        v ap: ( JAM['|link|/Browse.' . kn . '|' . kn . '|'], kc meths join: ' ' ) .
hunk ./terse-web/prelude.txt 170
-    z= Dict new  at/ 'type' put/ 'list'
-          -- at/ 'title' put/ 'Browsing All Classes'
-          -- at/ 'extra' put/ ( clss )
-          -- at/ 'extraKeys' put/ ( clss dir )
-          -- at/ 'extraCollect' put/ ( clss dir collect/ [ /i . ( clss at/ i ) cls cls name ] )
-          -- at/ 'extraSelect' put/ gk
-          -- at/ 'value' put/ v
+    z= Dict new  at: 'type' put: 'list'
+          -- at: 'title' put: 'Browsing All Classes'
+          -- at: 'extra' put: ( clss )
+          -- at: 'extraKeys' put: ( clss dir )
+          -- at: 'extraCollect' put: ( clss dir collect: [ :i . ( clss at: i ) cls cls name ] )
+          -- at: 'extraSelect' put: gk
+          -- at: 'value' put: v
hunk ./terse-web/prelude.txt 181
-  ( wl eq/ 2 ) y/ [
-    cn= ww at/ 1 .  "class name"
-    co= clss at/ cn toLower .   "class object"
+  ( wl eq: 2 ) y: [
+    cn= ww at: 1 .  "class name"
+    co= clss at: cn toLower .   "class object"
hunk ./terse-web/prelude.txt 186
-    d dir do/ [ /x . "For each class method"
-      v ap/ ( Jam{ '|link|/EditMethod.' . cn . 'Cls.' . x . '|class ' . x. '|' }, d at/ x -- str ) .
+    d dir do: [ :x . "For each class method"
+      v ap: ( Jam[ '|link|/EditMethod.' . cn . 'Cls.' . x . '|class ' . x. '|' ], d at: x -- str ) .
hunk ./terse-web/prelude.txt 191
-    d dir do/ [ /x . "For each instance method"
-      v ap/ ( Jam{ '|link|/EditMethod.' . cn . '.' . x . '|' . x. '|' }, d at/ x -- str ) .
+    d dir do: [ :x . "For each instance method"
+      v ap: ( Jam[ '|link|/EditMethod.' . cn . '.' . x . '|' . x. '|' ], d at: x -- str ) .
hunk ./terse-web/prelude.txt 195
-    z= Dict new  at/ 'type' put/ 'list'
-          -- at/ 'title' put/ ( 'Browsing Class' ap/ cn )
-          -- at/ 'value' put/ v
+    z= Dict new  at: 'type' put: 'list'
+          -- at: 'title' put: ( 'Browsing Class' ap: cn )
+          -- at: 'value' put: v
hunk ./terse-web/prelude.txt 205
-meth EditMethod handle/query/
-  ww= a split/ '.' .
+meth EditMethod handle:query:
+  ww= a split: '.' .
hunk ./terse-web/prelude.txt 210
-  ( wl ne/ 3 ) y/ [ Zork foo ] .
+  ( wl ne: 3 ) y: [ Zork foo ] .
hunk ./terse-web/prelude.txt 212
-  cn= ww at/ 1 .  "class name"
-  mn= ww at/ 2 .  "method name"
+  cn= ww at: 1 .  "class name"
+  mn= ww at: 2 .  "method name"
hunk ./terse-web/prelude.txt 215
-  co= clss at/ cn toLower .   "class object"
-  mo= co methDefs at/ mn .  "method object"
+  co= clss at: cn toLower .   "class object"
+  mo= co methDefs at: mn .  "method object"
hunk ./terse-web/prelude.txt 218
-  z= Dict new  at/ 'type' p/ 'edit'
-          -- at/ 'title' p/ ( 'Editing Class' ap/ cn -- ap/ ' Method ' -- ap/ mn )
-          -- at/ 'value' p/ ( mo str )
-          -- at/ 'action' p/ ( '/SubmitMethod' )
-          -- at/ 'field1' p/ 'ClassName'
-          -- at/ 'value1' p/ cn
-          -- at/ 'field2' p/ 'MethodName'
-          -- at/ 'value2' p/ mn
+  z= Dict new  at: 'type' p: 'edit'
+          -- at: 'title' p: ( 'Editing Class' ap: cn -- ap: ' Method ' -- ap: mn )
+          -- at: 'value' p: ( mo str )
+          -- at: 'action' p: ( '/SubmitMethod' )
+          -- at: 'field1' p: 'ClassName'
+          -- at: 'value1' p: cn
+          -- at: 'field2' p: 'MethodName'
+          -- at: 'value2' p: mn
hunk ./terse-web/prelude.txt 231
-meth SubmitMethod handle/query/
+meth SubmitMethod handle:query:
hunk ./terse-web/prelude.txt 234
-  cname= b at/ 'ClassName' .
-  mname= b at/ 'MethodName' .
+  cname= b at: 'ClassName' .
+  mname= b at: 'MethodName' .
hunk ./terse-web/prelude.txt 237
-  co= clss at/ cname tolower .
+  co= clss at: cname tolower .
hunk ./terse-web/prelude.txt 239
-  z= co definemethod/ mname abbrev/ '' doc/ '' code/ ( b at/ 'text' ) .
+  z= co definemethod: mname abbrev: '' doc: '' code: ( b at: 'text' ) .
hunk ./terse-web/prelude.txt 243
-	'title', Join{ 'Submitted Class'. cname. ' Method '. mname }.
-	'value', Vec{ Vec{ '|link|/Home|Home|'.  'Home.' } }.
+	'title', Join[ 'Submitted Class'. cname. ' Method '. mname ].
+	'value', Vec[ Vec[ '|link|/Home|Home|'.  'Home.' ] ].
hunk ./terse-web/prelude.txt 252
-meth FormDoit handle/query/
+meth FormDoit handle:query:
hunk ./terse-web/prelude.txt 261
-meth SubmitDoit handle/query/
-  z= Tmp new eval/ ( b at/ 'text' ).
+meth SubmitDoit handle:query:
+  z= Tmp new eval: ( b at: 'text' ).
hunk ./terse-web/prelude.txt 264
-       'title', [ 'doit/'. ( b at/ 'text' ) str ] join/ ' '.
+       'title', [ 'doit:'. ( b at: 'text' ) str ] join: ' '.
hunk ./terse-web/prelude.txt 270
-meth DrawLine handle/query/
-  DICT{ 'type', 'draw'.
+meth DrawLine handle:query:
+  DICT[ 'type', 'draw'.
hunk ./terse-web/prelude.txt 273
-	'value', Vec{
-           Vec{ 'line'. 10. 400. 50. 300. 2 }.
-	}.
+	'value', Vec[
+           Vec[ 'line'. 10. 400. 50. 300. 2 ].
+	].
hunk ./terse-web/prelude.txt 278
-  }
+  ]
hunk ./terse-web/prelude.txt 281
-meth DrawRect handle/query/
+meth DrawRect handle:query:
hunk ./terse-web/prelude.txt 285
-      v ap/ ('rect', 40 ti/ x, 30 ti/ y, 20, 15, 2, 'green').
+      v ap: ('rect', 80 ti: x, 70 ti: y, 20, 15, 2, 'green').
+      v ap: ('text', 80 ti: x --pl: 25, 70 ti: y --pl: 30, JAM[x str. ','. y str] ).
hunk ./terse-web/prelude.txt 288
-  DICT{ 'type', 'draw'.
+  DICT[ 'type', 'draw'.
hunk ./terse-web/prelude.txt 293
-  }
+  ]
hunk ./terse-web/prelude.txt 297
-meth DrawStar handle/query/
+meth DrawStar handle:query:
hunk ./terse-web/prelude.txt 302
-  Vec{ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. } do/ [ /i
-    ( 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 ) do/ [ /j
-      x= i pl/ j --sin ti/ 290 --pl/ 300.
-      y= i pl/ j --cos ti/ 290 --pl/ 300.
-      v ap/ Vec{ 'line'. 300. 300. x. y. }.
+  ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) do: [ :i
+    ( 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 ) do: [ :j
+      x= i pl: j --sin ti: 290 --pl: 300.
+      y= i pl: j --cos ti: 290 --pl: 300.
+      v ap: VEC[ 'line'. 300. 300. x. y. ].
hunk ./terse-web/prelude.txt 310
-  DICT{ 'type', 'draw'.
+  DICT[ 'type', 'draw'.
hunk ./terse-web/prelude.txt 315
-  }
+  ]