]> gitweb.factorcode.org Git - factor.git/commitdiff
big syntax change: vectors are now V{ }, hashtables are now H{ }, tuples T{ }, wrappe...
authorSlava Pestov <slava@factorcode.org>
Sun, 30 Oct 2005 03:25:38 +0000 (03:25 +0000)
committerSlava Pestov <slava@factorcode.org>
Sun, 30 Oct 2005 03:25:38 +0000 (03:25 +0000)
128 files changed:
TODO.FACTOR.txt
contrib/aim/aim.factor
contrib/concurrency/concurrency-tests.factor
contrib/cont-responder/eval-responder.factor
contrib/crypto/sha1.factor
contrib/httpd/cont-responder.factor
contrib/httpd/default-responders.factor
contrib/httpd/html-tags.factor
contrib/math/infix.factor
contrib/math/quaternions.factor
contrib/math/test.factor
contrib/space-invaders/cpu-8080.factor
contrib/sqlite/tuple-db.factor
contrib/xml.factor
examples/dejong.factor
examples/raytracer.factor
examples/turing.factor
library/alien/c-types.factor
library/alien/compiler.factor
library/alien/primitive-types.factor
library/bootstrap/boot-stage1.factor
library/bootstrap/boot-stage2.factor
library/bootstrap/image.factor
library/bootstrap/init.factor
library/bootstrap/primitives.factor
library/collections/arrays.factor
library/collections/hashtables.factor
library/collections/lists.factor
library/collections/namespaces.factor
library/collections/sequence-combinators.factor
library/collections/sequences-epilogue.factor
library/collections/slicing.factor
library/compiler/assembler.factor
library/compiler/basic-blocks.factor
library/compiler/generator.factor
library/compiler/intrinsics.factor
library/compiler/linearizer.factor
library/compiler/stack.factor
library/compiler/vops.factor
library/compiler/x86/architecture.factor
library/compiler/xt.factor
library/freetype/freetype-gl.factor
library/freetype/load.factor
library/generic/generic.factor
library/generic/math-combination.factor
library/generic/slots.factor
library/generic/tuple.factor
library/help/tutorial.factor
library/inference/branches.factor
library/inference/call-optimizers.factor
library/inference/class-infer.factor
library/inference/dataflow.factor
library/inference/inference.factor
library/inference/inline-methods.factor
library/inference/kill-literals.factor
library/inference/known-words.factor
library/inference/recursive-values.factor
library/inference/shuffle.factor
library/inference/stack.factor
library/inference/words.factor
library/io/files.factor
library/io/lines.factor
library/kernel.factor
library/math/constants.factor
library/math/parse-numbers.factor
library/opengl/load.factor
library/opengl/opengl-utils.factor
library/sdl/load.factor
library/sdl/sdl-keysym.factor
library/styles.factor
library/syntax/generic.factor
library/syntax/parse-syntax.factor
library/syntax/prettyprint.factor
library/test/benchmark/fib.factor
library/test/collections/arrays.factor
library/test/collections/hashtables.factor
library/test/collections/namespaces.factor
library/test/collections/queues.factor
library/test/collections/sequences.factor
library/test/collections/strings.factor
library/test/collections/vectors.factor
library/test/combinators.factor
library/test/compiler/ifte.factor
library/test/compiler/optimizer.factor
library/test/gadgets/frames.factor
library/test/gadgets/rectangles.factor
library/test/generic.factor
library/test/inference.factor
library/test/inspector.factor
library/test/interpreter.factor
library/test/math/complex.factor
library/test/math/irrational.factor
library/test/parser.factor
library/test/prettyprint.factor
library/test/redefine.factor
library/test/test.factor
library/test/tuple.factor
library/threads.factor
library/tools/debugger.factor
library/tools/describe.factor
library/tools/inspector.factor
library/tools/memory.factor
library/tools/walker.factor
library/ui/books.factor
library/ui/borders.factor
library/ui/buttons.factor
library/ui/editors.factor
library/ui/frames.factor
library/ui/gadgets.factor
library/ui/gestures.factor
library/ui/hand.factor
library/ui/hierarchy.factor
library/ui/incremental.factor
library/ui/layouts.factor
library/ui/line-editor.factor
library/ui/paint.factor
library/ui/panes.factor
library/ui/presentations.factor
library/ui/scrolling.factor
library/ui/sliders.factor
library/ui/splitters.factor
library/ui/theme.factor
library/ui/ui.factor
library/ui/world.factor
library/unix/io.factor
library/vocabularies.factor
library/win32/win32-io-internals.factor
library/words.factor

index 4e5f19dad5b56ae701b7964fbd0e32d14f77a0ec..343f107a5c97843920329eb9497d0632906f5d46 100644 (file)
@@ -1,9 +1,10 @@
 0.79:\r
 \r
-- swap @{ and { syntax\r
+- fix prettyprinter\r
+- syntax updates and testing for contrib/\r
 - get stuff in examples dir running in the ui\r
 - pixelColor replacement\r
-X\r
+\r
 + ui:\r
 \r
 - make-pane: if no input, just return pane-output\r
index 446f6ecd0457ea846f7daf8ccd8a746abf798ef5..9a00a90892294f170bc291137aa69de0cfada511 100644 (file)
@@ -66,12 +66,12 @@ TUPLE: buddy name id gid capabilities buddy-icon online ;
 
 ! Family names from ethereal
 : family-names
-{{
+H{
     [[ 1 "Generic" ]] [[ 2 "Location" ]] [[ 3 "Buddylist" ]]
     [[ 4 "Messaging" ]] [[ 6 "Invitation" ]] [[ 8 "Popup" ]]
     [[ 9 "BOS" ]] [[ 10 "User Lookup" ]] [[ 11 "Stats" ]]
     [[ 12 "Translate" ]] [[ 19 "SSI" ]] [[ 21 "ICQ" ]]
-    [[ 34 "Unknown Family" ]] }} ;
+    [[ 34 "Unknown Family" ]] } ;
 
 : ch>lower ( int -- int ) dup LETTER? [ HEX: 20 + ] when ;
 : ch>upper ( int -- int ) dup letter? [ HEX: 20 - ] when ;
@@ -84,10 +84,10 @@ TUPLE: buddy name id gid capabilities buddy-icon online ;
     [ [ unswons cons , ] hash-each ] { } make alist>hash ;
 
 : 2list>hash ( keys values -- hash )
-    {{ }} clone -rot [ swap pick set-hash ] 2each ;
+    H{ } clone -rot [ swap pick set-hash ] 2each ;
 
 : capability-names
-{{
+H{
     [[ "Unknown1" HEX: 094601054c7f11d18222444553540000 ]]
     [[ "Games" HEX: 0946134a4c7f11d18222444553540000 ]]
     [[ "Send Buddy List" HEX: 0946134b4c7f11d18222444553540000 ]]
@@ -102,14 +102,14 @@ TUPLE: buddy name id gid capabilities buddy-icon online ;
     [[ "Unknown3" HEX: 094601034c7f11d18222444553540000 ]]
     [[ "Buddy Icon" HEX: 094613464c7f11d18222444553540000 ]]
     [[ "Add-Ins" HEX: 094613474c7f11d18222444553540000 ]]
-}} ;
+} ;
 
 
 : capability-values
     capability-names hash-swap ;
 
 : capability-abbrevs
-{{
+H{
     [[ CHAR: A "Voice" ]]
     [[ CHAR: C "Send File" ]]
     [[ CHAR: E "AIM Direct IM" ]]
@@ -117,11 +117,11 @@ TUPLE: buddy name id gid capabilities buddy-icon online ;
     [[ CHAR: G "Add-Ins" ]]
     [[ CHAR: H "Get File" ]]
     [[ CHAR: K "Send Buddy List" ]]
-}} ;
+} ;
 
 ! AIM errors
 : aim-errors
-{{
+H{
     [[ 1 "Invalid SNAC header." ]]
     [[ 2 "Server rate limit exceeded." ]]
     [[ 3 "Client rate limit exceeded." ]]
@@ -146,17 +146,17 @@ TUPLE: buddy name id gid capabilities buddy-icon online ;
     [[ 23 "Request ambiguous." ]]
     [[ 24 "Server queue full." ]]
     [[ 25 "Not while on AOL." ]]
-}} ;
+} ;
 
 
 : initialize-aim ( username password -- )
     password set username set
-    {{ }} clone buddy-hash-name set
-    {{ }} clone buddy-hash-id set
-    {{ }} clone group-hash-name set
-    {{ }} clone group-hash-id set
-    {{ }} clone banned-hash-name set
-    {{ }} clone banned-hash-id set
+    H{ } clone buddy-hash-name set
+    H{ } clone buddy-hash-id set
+    H{ } clone group-hash-name set
+    H{ } clone group-hash-id set
+    H{ } clone banned-hash-name set
+    H{ } clone banned-hash-id set
     <queue> modify-queue set
     HEX: 7fff random-int seq-num set
     1 stage-num set ;
@@ -265,13 +265,13 @@ M: object get-banned ( name -- <buddy> )
     ;
 
 : family-table ( -- hash )
-    {{ }} ;
+    H{ } ;
 
 : FAMILY: ( -- fam# )
     scan hex> swons dup car family-table hash dup [
         drop
     ] [
-        drop {{ }} clone over car family-table set-hash
+        drop H{ } clone over car family-table set-hash
     ] if ; parsing
 
 : OPCODE: ( fam# -- )
index e112b9b70d36817d5be45792662dac2f12b1e7c4..207189315ae92f2b2b55978902165b61065672ef 100644 (file)
@@ -151,9 +151,9 @@ USING: kernel concurrency concurrency-examples threads vectors
 
 [ t 60 120 ] [
   fragile-rpc-server
-  << rpc-command f "product" [ 4 5 6 ] >> over send-synchronous >r
-  << rpc-command f "add" [ 10 20 30  ] >> over send-synchronous >r
-  << rpc-command f "shutdown" [      ] >> swap send-synchronous 
+  T{ rpc-command f "product" [ 4 5 6 ] } over send-synchronous >r
+  T{ rpc-command f "add" [ 10 20 30  ] } over send-synchronous >r
+  T{ rpc-command f "shutdown" [      ] } swap send-synchronous 
   r> r>    
 ] unit-test
  
index 335ca5c715293307b51fc93124fc8d77a4ed6b4a..7c5a0e4b39ea048d431a76ac6470bc4b9f6dd631 100644 (file)
@@ -115,7 +115,7 @@ USE: sequences
   #! Return an html fragment dispaying the source
   #! of the given word.
   dup dup
-  {{ }} clone [
+  [
     "browser" "responder" set
     <table "1" =border table> 
       <tr> <th "2" =colspan th> "Source" write </th> </tr>
@@ -125,7 +125,7 @@ USE: sequences
            <td "top" =valign td> [ [ parse ] catch [ "No such word" write ] [ car usages. ] if ] with-simple-html-output </td>
       </tr>
     </table>
-  ] bind ;
+  ] make-hash ;
 
 : display-word-see-form ( url -- )
   #! Write out the html for code that accepts
index 5a558979cd24c42a210d91f44ee8e13c97740a6a..2f2a26e0ead84958d35fc33c4c653f4cb46e3ab4 100644 (file)
@@ -54,12 +54,12 @@ SYMBOL: K
 
 ! use this syntax eventually
 ! JUMP-TABLE: f 4 ( maximum )
-! {{
+! H{
     ! [[ 0 [ >r over bitnot r> bitand >r bitand r> bitor ] ]]
     ! [[ 1 [ bitxor bitxor ] ]]
     ! [[ 2 [ 2dup bitand >r pick bitand >r bitand r> r> bitor bitor ] ]]
     ! [[ 3 [ bitxor bitxor ] ]]
-! }} f-table set
+! } f-table set
 
 ! J: 0 f >r over bitnot r> bitand >r bitand r> bitor ;
 ! J: 1 f bitxor bitxor ;
index 6226d9b8b418486174aaad0b5342d50f07881350..d72aafdac3685d10ffb0e7802313745f2bf68269 100644 (file)
@@ -53,7 +53,7 @@ SYMBOL: table
   #! Create the initial global table
   continuation-table hash-clear ;
 
-{{ }} clone table global set-hash
+H{ } clone table global set-hash
 
 #! Tuple for holding data related to a continuation.
 TUPLE: item expire? quot id time-added ;
index 56ba5f4e235ab67ef75d59a6da8c8f3ea51aae4a..cc630495462f002123971221ba1e92cf8423625f 100644 (file)
@@ -8,7 +8,7 @@ test-responder ;
 #! Remove all existing responders, and create a blank
 #! responder table.
 global [
-    {{ }} clone responders set
+    H{ } clone responders set
 
     ! 404 error message pages are served by this guy
     [
@@ -33,5 +33,5 @@ global [
     ! The root directory is served by...
     "file" set-default-responder
 
-    vhosts nest [ {{ }} clone "default" set ] bind
+    vhosts nest [ H{ } clone "default" set ] bind
 ] bind
index a449bb36b1f422cdbe1ef52f9952c1842f8b33e5..479918808130d41011c680e129c95c7b2cc734f6 100644 (file)
@@ -99,7 +99,7 @@ USE: sequences
 
 : <foo "<" swap append ;
 
-: do-<foo write {{ }} clone >n { } clone "attrs" set ;
+: do-<foo write H{ } clone >n V{ } clone "attrs" set ;
 
 : def-for-html-word-<foo ( name -- )
     #! Return the name and code for the <foo patterned
index ea3d3d168d25d239ec9998258b5bd536517efa62..06b779bce14cc543fc9c40c9026827fea0e08f9f 100644 (file)
@@ -86,7 +86,7 @@ UNION: value number string ;
 
 : semicolon ( -- semicolon )
     #! The semicolon token
-    << tok f CHAR: ; >> ;
+    T{ tok f CHAR: ; } ;
 
 : nest-apply ( [ ast ] -- apply )
     unswons unit swap [
@@ -214,7 +214,7 @@ M: vector compile-ast ! literal vectors
 : functions
     #! Regular functions
     #! Gives quotation applicable to stack
-    {{
+    H{
         [ [[ "+" 2 ]] + ]
         [ [[ "-" 2 ]] - ]
         [ [[ ">" 2 ]] [ > ] infix-relation ]
@@ -248,7 +248,7 @@ M: vector compile-ast ! literal vectors
         [ [[ "sn" 3 ]] -rot set-nth ]
         [ [[ "prod" 1 ]] product ]
         [ [[ "vec" 1 ]] >vector ]
-    }} ;
+    } ;
 
 : drc ( list -- list )
     #! all of list except last element (backwards cdr)
@@ -264,7 +264,7 @@ M: vector compile-ast ! literal vectors
 : high-functions
     #! Higher-order functions
     #! Gives quotation applicable to quotation and rest of stack
-    {{
+    H{
         [ [[ "!" 2 ]] 2map ]
         [ [[ "!" 1 ]] map ]
         [ [[ ">" 2 ]] map-with ]
@@ -274,7 +274,7 @@ M: vector compile-ast ! literal vectors
         [ [[ "~" 2 ]] call not ]
         [ [[ "/" 2 ]] swapd reduce ]
         [ [[ "\\" 2 ]] swapd accumulate ]
-    }} ;
+    } ;
 
 : get-hash ( key table -- value )
     #! like hash but throws exception if f
index e7e4ff4f6ec90ce6cc5801eebb23690986b74d60..8a5fcd94cee5702d684ab67b0355aa85d165f53a 100644 (file)
@@ -59,13 +59,13 @@ IN: math-contrib
     [ v>q ] 2apply q* q>v ;
 
 ! Zero
-: q0 @{ 0 0 }@ ;
+: q0 { 0 0 } ;
 
 ! Units
-: q1 @{ 1 0 }@ ;
-: qi @{ #{ 0 1 }# 0 }@ ;
-: qj @{ 0 1 }@ ;
-: qk @{ 0 #{ 0 1 }# }@ ;
+: q1 { 1 0 } ;
+: qi { C{ 0 1 } 0 } ;
+: qj { 0 1 } ;
+: qk { 0 C{ 0 1 } } ;
 
 ! Euler angles -- see
 ! http://www.mathworks.com/access/helpdesk/help/toolbox/aeroblks/euleranglestoquaternions.html
index 99abad984432e45da6c0e5994faa5ba079666b05..c7ab316ed1552131beea3e6e24ca4f7c409f6773 100644 (file)
@@ -94,115 +94,115 @@ USING: kernel math test sequences math-contrib ;
 [ t ] [ i c>q qi = ] unit-test
 
 [
-    @{ @{ 0 }@ @{ 0 }@ @{ 0 }@ }@
+    { { 0 } { 0 } { 0 } }
 ] [
     3 1 zero-matrix
 ] unit-test
 
 [
-    @{ @{ 1 0 0 }@
-       @{ 0 1 0 }@
-       @{ 0 0 1 }@ }@
+    { { 1 0 0 }
+       { 0 1 0 }
+       { 0 0 1 } }
 ] [
     3 identity-matrix
 ] unit-test
 
 [
-    @{ @{ 1 0 4 }@
-       @{ 0 7 0 }@
-       @{ 6 0 3 }@ }@
+    { { 1 0 4 }
+       { 0 7 0 }
+       { 6 0 3 } }
 ] [
-    @{ @{ 1 0 0 }@
-       @{ 0 2 0 }@
-       @{ 0 0 3 }@ }@
+    { { 1 0 0 }
+       { 0 2 0 }
+       { 0 0 3 } }
        
-    @{ @{ 0 0 4 }@
-       @{ 0 5 0 }@
-       @{ 6 0 0 }@ }@
+    { { 0 0 4 }
+       { 0 5 0 }
+       { 6 0 0 } }
 
     m+
 ] unit-test
 
 [
-    @{ @{ 1 0 4 }@
-       @{ 0 7 0 }@
-       @{ 6 0 3 }@ }@
+    { { 1 0 4 }
+       { 0 7 0 }
+       { 6 0 3 } }
 ] [
-    @{ @{ 1 0 0 }@
-       @{ 0 2 0 }@
-       @{ 0 0 3 }@ }@
+    { { 1 0 0 }
+       { 0 2 0 }
+       { 0 0 3 } }
        
-    @{ @{ 0 0 -4 }@
-       @{ 0 -5 0 }@
-       @{ -6 0 0 }@ }@
+    { { 0 0 -4 }
+       { 0 -5 0 }
+       { -6 0 0 } }
 
     m-
 ] unit-test
 
 [
-    @{ 10 20 30 }@
+    { 10 20 30 }
 ] [
-    10 @{ 1 2 3 }@ n*v
+    10 { 1 2 3 } n*v
 ] unit-test
 
 [
-    @{ 3 4 }@
+    { 3 4 }
 ] [
-    @{ @{ 1 0 }@
-       @{ 0 1 }@ }@
+    { { 1 0 }
+       { 0 1 } }
 
-    @{ 3 4 }@
+    { 3 4 }
 
     m.v
 ] unit-test
 
 [
-    @{ 4 3 }@
+    { 4 3 }
 ] [
-    @{ @{ 0 1 }@
-       @{ 1 0 }@ }@
+    { { 0 1 }
+       { 1 0 } }
 
-    @{ 3 4 }@
+    { 3 4 }
 
     m.v
 ] unit-test
 
-[ @{ 0 0 1 }@ ] [ @{ 1 0 0 }@ @{ 0 1 0 }@ cross ] unit-test
-[ @{ 1 0 0 }@ ] [ @{ 0 1 0 }@ @{ 0 0 1 }@ cross ] unit-test
-[ @{ 0 1 0 }@ ] [ @{ 0 0 1 }@ @{ 1 0 0 }@ cross ] unit-test
+[ { 0 0 1 } ] [ { 1 0 0 } { 0 1 0 } cross ] unit-test
+[ { 1 0 0 } ] [ { 0 1 0 } { 0 0 1 } cross ] unit-test
+[ { 0 1 0 } ] [ { 0 0 1 } { 1 0 0 } cross ] unit-test
 
-[ @{ @{ 1 2 }@ @{ 3 4 }@ @{ 5 6 }@ }@ ]
-[ @{ @{ 1 2 }@ @{ 3 4 }@ @{ 5 6 }@ }@ flip flip ]
+[ { { 1 2 } { 3 4 } { 5 6 } } ]
+[ { { 1 2 } { 3 4 } { 5 6 } } flip flip ]
 unit-test
 
-[ @{ @{ 1 3 5 }@ @{ 2 4 6 }@ }@ ]
-[ @{ @{ 1 3 5 }@ @{ 2 4 6 }@ }@ flip flip ]
+[ { { 1 3 5 } { 2 4 6 } } ]
+[ { { 1 3 5 } { 2 4 6 } } flip flip ]
 unit-test
 
-[ @{ @{ 1 3 5 }@ @{ 2 4 6 }@ }@ ]
-[ @{ @{ 1 2 }@ @{ 3 4 }@ @{ 5 6 }@ }@ flip ]
+[ { { 1 3 5 } { 2 4 6 } } ]
+[ { { 1 2 } { 3 4 } { 5 6 } } flip ]
 unit-test
 
 [
-    @{ @{ 6 }@ }@
+    { { 6 } }
 ] [
-    @{ @{ 3 }@ }@ @{ @{ 2 }@ }@ m.
+    { { 3 } } { { 2 } } m.
 ] unit-test
 
 [
-    @{ @{ 11 }@ }@
+    { { 11 } }
 ] [
-    @{ @{ 1 3 }@ }@ @{ @{ 5 }@ @{ 2 }@ }@ m.
+    { { 1 3 } } { { 5 } { 2 } } m.
 ] unit-test
 
 [
-    @{ @{ 28 }@ }@
+    { { 28 } }
 ] [
-    @{ @{ 2 4 6 }@ }@
+    { { 2 4 6 } }
 
-    @{ @{ 1 }@
-       @{ 2 }@
-       @{ 3 }@ }@
+    { { 1 }
+       { 2 }
+       { 3 } }
     
     m.
 ] unit-test
index 5625e88df7d4d1bcb17281061317b544beabd997..ab26c12653db31594e65ba6e8a22d339f09aa66e 100644 (file)
@@ -391,7 +391,7 @@ M: cpu write-port ( value port cpu -- )
 : instruction-cycles ( -- vector )
   #! Return a 256 element vector containing the cycles for
   #! each opcode in the 8080 instruction set.
-  @
+  { 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
@@ -399,12 +399,12 @@ M: cpu write-port ( value port cpu -- )
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
-    f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f }@ ;
+    f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f } ;
 
 : instructions ( -- vector )
   #! Return a 256 element vector containing the emulation words for
   #! each opcode in the 8080 instruction set.
-  @
+  { 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
@@ -412,7 +412,7 @@ M: cpu write-port ( value port cpu -- )
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 
-    f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f }@ ; inline
+    f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f } ; inline
 
 : not-implemented ( <cpu> -- )
   drop ;
@@ -557,7 +557,7 @@ C: cpu ( cpu -- cpu )
   #! Given a string containing a register name, return a vector
   #! where the 1st item is the getter and the 2nd is the setter
   #! for that register.
-  {{
+  H{
     [[ "A"  { cpu-a  set-cpu-a  } ]]
     [[ "B"  { cpu-b  set-cpu-b  } ]]
     [[ "C"  { cpu-c  set-cpu-c  } ]]
@@ -570,13 +570,13 @@ C: cpu ( cpu -- cpu )
     [[ "DE" { cpu-de set-cpu-de } ]]
     [[ "HL" { cpu-hl set-cpu-hl } ]]
     [[ "SP" { cpu-sp set-cpu-sp } ]]
-  }} hash ;
+  } hash ;
 
 
 : flag-lookup ( string -- vector )
   #! Given a string containing a flag name, return a vector
   #! where the 1st item is a word that tests that flag.
-  {{
+  H{
     [[ "NZ"  { flag-nz?  } ]]
     [[ "NC"  { flag-nc?  } ]]
     [[ "PO"  { flag-po?  } ]]
@@ -585,7 +585,7 @@ C: cpu ( cpu -- cpu )
     [[ "C"  { flag-c? } ]]
     [[ "P"  { flag-p?  } ]]
     [[ "M" { flag-m?  } ]]
-  }} hash ;
+  } hash ;
 
 SYMBOL: $1
 SYMBOL: $2
@@ -698,7 +698,7 @@ SYMBOL: $4
   
 : patterns ( -- hashtable )
   #! table of code quotation patterns for each type of instruction.
-  {{
+  H{
     [[ "NOP"          [ drop ]               ]]
     [[ "RET-NN"          [ ret-from-sub  ]               ]]
     [[ "RST-0"      [ 0 swap (emulate-RST) ] ]]
@@ -774,7 +774,7 @@ SYMBOL: $4
     [[ "IN-R,(N)"    [ [ next-byte ] keep [ read-port ] keep set-cpu-a ] ]]
     [[ "EX-(RR),RR"  [  [ $1 ] keep [ read-word ] keep [ $3 ] keep [ $1 ] keep [ write-word ] keep $4 ] ]]
     [[ "EX-RR,RR"    [ [ $1 ] keep [ $3 ] keep [ $2 ] keep $4 ] ]]
-  }} ;
+  } ;
 
 : 8-bit-registers ( -- parser )
   #! A parser for 8-bit registers. On a successfull parse the
index 01fd325bcd8e0dcd4735dd87a797017e3c213972..ed7bfa3b64e9c0ef4293f96f21dc86171e54e722 100644 (file)
@@ -52,7 +52,7 @@ TUPLE: mapping tuple table fields one-to-one one-to-many   ;
   #! Given a tuple class return a list of the fields
   #! within that tuple. Ignores the delegate field.
   [ word-name length 1+ ] keep
-  "slots" word-prop 1 swap tail [ ( name-len @{ slot getter setter }@ )
+  "slots" word-prop 1 swap tail [ ( name-len { slot getter setter } )
     [ 1 swap nth word-name tail sanitize dup ":" swap append ] keep    
     0 swap nth
     "text"
@@ -71,7 +71,7 @@ SYMBOL: mappings
 
 : init-mappings ( -- )
   #! 
-  {{ }} mappings global set-hash ;
+  H{ } mappings global set-hash ;
 
 : get-mappings ( -- hashtable )
   mappings global hash ;
index a97ecd9910615cffe04bfdaa01e63485e9677628..20c5751422710efc0c22af9bc152789b26f83d37 100644 (file)
@@ -124,13 +124,13 @@ M: xml-string-error error.
     ] if ;
 
 : entities
-    {{
+    H{
         [[ "lt" CHAR: < ]]
         [[ "gt" CHAR: > ]]
         [[ "amp" CHAR: & ]]
         [[ "apos" CHAR: ' ]]
         [[ "quot" CHAR: " ]]
-    }} ;
+    } ;
 
 : parse-entity ( -- ch )
     incr-spot [ CHAR: ; = ] take-until incr-spot
@@ -301,7 +301,7 @@ M: contained process
     [ contained-name ] keep contained-props 0 <vector> <tag> push-datum ;
 
 M: opener process
-    { } clone cons
+    V{ } clone cons
     xml-stack get push ;
 
 M: closer process
@@ -313,7 +313,7 @@ M: closer process
     ] keep opener-props r> <tag> push-datum ;
 
 : initialize-xml-stack ( -- )
-    f { } clone cons unit >vector xml-stack set ;
+    f V{ } clone cons unit >vector xml-stack set ;
 
 : xml ( string -- vector )
     #! Produces a tree of XML nodes
@@ -335,11 +335,11 @@ M: closer process
 GENERIC: (xml>string) ( object -- )
 
 : reverse-entities ! not as many as entities needed for printing
-    {{
+    H{
         [[ CHAR: & "amp" ]]
         [[ CHAR: < "lt" ]]
         [[ CHAR: " "quot" ]]
-    }} ;
+    } ;
 
 M: string (xml>string)
     [
@@ -406,7 +406,7 @@ M: comment (xml>string)
 
 : PROCESS:
     CREATE
-    dup {{ }} clone "xtable" set-word-prop
+    dup H{ } clone "xtable" set-word-prop
     dup literalize [
         "xtable" word-prop
         >r dup tag-name r> hash call
index 6d2b8fee8723777655a69cc115a38b8d63e22906..2318e32d2a08b9be59c6c88992f8c16f9e67d5c8 100644 (file)
@@ -27,7 +27,7 @@ SYMBOL: d
 : next-x ( x y -- x ) a get * sin swap b get * cos - ;
 : next-y ( x y -- y ) swap c get * sin swap d get * cos - ;
 
-: pixel ( #{ x y }# color -- )
+: pixel ( C{ x y } color -- )
     >r >r surface get r> >rect r> pixelColor ;
 
 : iterate-dejong ( x y -- x y )
index fa83a6aa88cb13430e66d4ca32ba51403df67a04..6a1aef618b04d5c31e1041e11084c806c1469420 100644 (file)
@@ -7,7 +7,7 @@ IN: ray
 ! parameters
 : light
     #! Normalized { -1 -3 2 }.
-    @{ -0.2672612419124244 -0.8017837257372732 0.5345224838248488 }@ ; inline
+    { -0.2672612419124244 -0.8017837257372732 0.5345224838248488 } ; inline
 
 : oversampling 4 ; inline
 
@@ -71,7 +71,7 @@ M: group intersect-scene ( hit ray group -- hit )
         drop
     ] if-ray-sphere ;
 
-: initial-hit << hit f @{ 0.0 0.0 0.0 }@ INF >> ;
+: initial-hit T{ hit f { 0.0 0.0 0.0 } INF } ;
 
 : initial-intersect ( ray scene -- hit )
     initial-hit -rot intersect-scene ;
@@ -102,12 +102,12 @@ DEFER: create ( level c r -- scene )
     over >r create-center r> 2.0 / >r >r 1 - r> r> create ;
 
 : create-offsets ( quot -- )
-    @{
-        @{ -1.0 1.0 -1.0 }@
-        @{ 1.0 1.0 -1.0 }@
-        @{ -1.0 1.0 1.0 }@
-        @{ 1.0 1.0 1.0 }@
-    }@ swap each ; inline
+    {
+        { -1.0 1.0 -1.0 }
+        { 1.0 1.0 -1.0 }
+        { -1.0 1.0 1.0 }
+        { 1.0 1.0 1.0 }
+    } swap each ; inline
 
 : create-bound ( c r -- sphere ) 3.0 * <sphere> ;
 
@@ -128,7 +128,7 @@ DEFER: create ( level c r -- scene )
 
 : ray-grid ( point ss-grid -- ray-grid )
     [
-        [ v+ normalize @{ 0.0 0.0 -4.0 }@ swap <ray> ] map-with
+        [ v+ normalize { 0.0 0.0 -4.0 } swap <ray> ] map-with
     ] map-with ;
 
 : ray-pixel ( scene point -- n )
@@ -151,7 +151,7 @@ DEFER: create ( level c r -- scene )
     pixel-grid [ [ ray-pixel ] map-with ] map-with ;
 
 : run ( -- string )
-    levels @{ 0.0 -1.0 0.0 }@ 1.0 create ray-trace [
+    levels { 0.0 -1.0 0.0 } 1.0 create ray-trace [
         size size pnm-header
         [ [ oversampling sq / pnm-pixel ] each ] each
     ] "" make ;
index a30e3afa7505d8e170148fdc6f77e260ea814a65..65af92dc0542e2963417a341b79a712f6c278e56 100644 (file)
@@ -13,14 +13,14 @@ SYMBOL: states
 SYMBOL: halt
 
 ! This is a simple program that outputs 5 1's
-{{
-    [[ [[ 1 0 ]] << state f 1 1 2 >> ]]
-    [[ [[ 2 0 ]] << state f 1 1 3 >> ]]
-    [[ [[ 3 0 ]] << state f 1 -1 1 >> ]]
-    [[ [[ 1 1 ]] << state f 1 -1 2 >> ]]
-    [[ [[ 2 1 ]] << state f 1 -1 3 >> ]]
-    [[ [[ 3 1 ]] << state f 1 -1 halt >> ]]
-}} states set
+H{
+    [[ [[ 1 0 ]] T{ state f 1 1 2 } ]]
+    [[ [[ 2 0 ]] T{ state f 1 1 3 } ]]
+    [[ [[ 3 0 ]] T{ state f 1 -1 1 } ]]
+    [[ [[ 1 1 ]] T{ state f 1 -1 2 } ]]
+    [[ [[ 2 1 ]] T{ state f 1 -1 3 } ]]
+    [[ [[ 3 1 ]] T{ state f 1 -1 halt } ]]
+} states set
 
 ! Current state
 SYMBOL: state
index 255d108ad1479d588998dea70540121d121ec900..9146027e33f6631b41186217c9569f87be68767c 100644 (file)
@@ -6,14 +6,14 @@ hashtables kernel kernel-internals lists math namespaces parser
 sequences sequences-internals strings words ;
 
 : <c-type> ( -- type )
-    {{
+    H{
         [[ "setter" [ "No setter" throw ] ]]
         [[ "getter" [ "No getter" throw ] ]]
         [[ "boxer" "no boxer" ]]
         [[ "unboxer" "no unboxer" ]]
-        [[ "reg-class" << int-regs f >> ]]
+        [[ "reg-class" T{ int-regs f } ]]
         [[ "width" 0 ]]
-    }} clone ;
+    } clone ;
 
 SYMBOL: c-types
 
index 570cbae65819963e0e79875894273a22f74758ee..992f2e2048962a86d815a7ad122358b3c177c708 100644 (file)
@@ -84,7 +84,7 @@ C: alien-node make-node ;
 
 : spill-param ( reg-class -- n reg-class )
     reg-class-size stack-params [ tuck + ] change
-    << stack-params >> ;
+    T{ stack-params } ;
 
 : inc-reg-class ( reg-class -- )
     #! On Mac OS X, float parameters 'shadow' integer registers.
@@ -134,7 +134,7 @@ M: alien-node linearize* ( node -- )
 
 : unpair ( seq -- odds evens )
     2 swap group flip dup empty?
-    [ drop @{ }@ @{ }@ ] [ first2 ] if ;
+    [ drop { } { } ] [ first2 ] if ;
 
 : parse-arglist ( lst -- types stack effect )
     unpair [
@@ -161,7 +161,7 @@ M: alien-node linearize* ( node -- )
 ] "infer" set-word-prop
 
 global [
-    "libraries" get [ {{ }} clone "libraries" set ] unless
+    "libraries" get [ H{ } clone "libraries" set ] unless
 ] bind
 
 M: compound (uncrossref)
@@ -169,6 +169,6 @@ M: compound (uncrossref)
     over "infer" word-prop or [
         drop
     ] [
-        dup @{ "infer-effect" "base-case" "no-effect" "terminates" }@
+        dup { "infer-effect" "base-case" "no-effect" "terminates" }
         reset-props update-xt
     ] if ;
index 803fde73be3107993cdb2156eefbe682a3a799e7..b895ea36df9321f53f44b763806d288a2847e13f 100644 (file)
@@ -117,7 +117,7 @@ USING: alien compiler-backend kernel math namespaces ;
     cell "align" set
     "box_float" "boxer" set
     "unbox_float" "unboxer" set
-    << float-regs f 4 >> "reg-class" set
+    T{ float-regs f 4 } "reg-class" set
 ] "float" define-primitive-type
 
 [
@@ -127,7 +127,7 @@ USING: alien compiler-backend kernel math namespaces ;
     cell 2 * "align" set
     "box_double" "boxer" set
     "unbox_double" "unboxer" set
-    << float-regs f 8 >> "reg-class" set
+    T{ float-regs f 8 } "reg-class" set
 ] "double" define-primitive-type
 
 ! FIXME for 64-bit platforms
index 7ef9aebe8b831cf2fcafed954bf1996e2ebed599..30ff1f35113796468ae9e52e363dfbf1670f3078 100644 (file)
@@ -17,7 +17,7 @@ sequences io vectors words ;
         boot
     ] %
 
-    @{
+    {
         "/version.factor"
 
         "/library/generic/early-generic.factor"
@@ -150,7 +150,7 @@ sequences io vectors words ;
         "/library/cli.factor"
         
         "/library/bootstrap/init.factor"
-    }@ [ dup print parse-resource % ] each
+    } [ dup print parse-resource % ] each
     
     [ "/library/bootstrap/boot-stage2.factor" run-resource ] %
 ] [ ] make
index 6b32bb6c957fb483e6bf32ecdd1c416a74009e0f..b399b04e8daf7cf6945a0111a86572e63673fbb9 100644 (file)
@@ -41,12 +41,12 @@ parse-command-line
 compile? [\r
     "Compiling base..." print\r
 \r
-    @{\r
+    {\r
         uncons 1+ 1- + <= > >= mod length\r
         nth-unsafe set-nth-unsafe\r
         = string>number number>string scan solve-recursion\r
         kill-set kill-node (generate)\r
-    }@ [ compile ] each\r
+    } [ compile ] each\r
 ] when\r
 \r
 compile? [\r
index 0e65b31fdcccdc6d3bf201cd46cd220a6c40e125..5b472b226f95ddf8276990f21ca00f789a4b100e 100644 (file)
@@ -123,7 +123,7 @@ M: fixnum ' ( n -- tagged ) fixnum-tag immediate ;
 
 : bignum>seq ( n -- seq )
     #! n is positive or zero.
-    [ (bignum>seq) ] @{ }@ make ;
+    [ (bignum>seq) ] { } make ;
 
 : emit-bignum ( n -- )
     [ 0 < 1 0 ? ] keep abs bignum>seq
@@ -285,7 +285,7 @@ M: hashtable ' ( hashtable -- pointer )
 
 : global, ( -- )
     [
-        @{ vocabularies typemap builtins }@ [ [ ] change ] each
+        { vocabularies typemap builtins } [ [ ] change ] each
     ] make-hash '
     global-offset fixup ;
 
index 7f492471fcc7ed4fb4529c09f402662c631ed81c..c780c73b4d25d98f05adb1c800e235d101776e2f 100644 (file)
@@ -15,4 +15,4 @@ parser threads words ;
     init-error-handler
     default-cli-args
     parse-command-line
-    "null-stdio" get [ << null-stream f >> stdio set ] when ;
+    "null-stdio" get [ T{ null-stream f } stdio set ] when ;
index a7de5bfda9a262e68c13fabe59086a33bb8c00fc..b5ff5d297ad80c63875dcd47eaffa1c858d5404c 100644 (file)
@@ -12,234 +12,234 @@ words ;
 
 ! These symbols need the same hashcode in the target as in the
 ! host.
-@{ vocabularies typemap builtins }@
+{ vocabularies typemap builtins }
 
 ! Bring up a bare cross-compiling vocabulary.
 "syntax" vocab
 
-{{ }} clone vocabularies set
+H{ } clone vocabularies set
 f crossref set
 
 vocabularies get [ "syntax" set [ reveal ] each ] bind
 
-: make-primitive ( @{ vocab word }@ n -- )
+: make-primitive ( { vocab word } n -- )
     >r first2 create r> f define ;
 
-@{
-    @{ "execute" "words"                     }@
-    @{ "call" "kernel"                       }@
-    @{ "if" "kernel"                         }@
-    @{ "dispatch" "kernel-internals"         }@
-    @{ "cons" "lists"                        }@
-    @{ "<vector>" "vectors"                  }@
-    @{ "rehash-string" "strings"             }@
-    @{ "<sbuf>" "strings"                    }@
-    @{ "sbuf>string" "strings"               }@
-    @{ ">fixnum" "math"                      }@
-    @{ ">bignum" "math"                      }@
-    @{ ">float" "math"                       }@
-    @{ "(fraction>)" "math-internals"        }@
-    @{ "string>float" "math-internals"       }@
-    @{ "float>string" "math-internals"       }@
-    @{ "float>bits" "math"                   }@
-    @{ "double>bits" "math"                  }@
-    @{ "bits>float" "math"                   }@
-    @{ "bits>double" "math"                  }@
-    @{ "<complex>" "math-internals"          }@
-    @{ "fixnum+" "math-internals"            }@
-    @{ "fixnum-" "math-internals"            }@
-    @{ "fixnum*" "math-internals"            }@
-    @{ "fixnum/i" "math-internals"           }@
-    @{ "fixnum/f" "math-internals"           }@
-    @{ "fixnum-mod" "math-internals"         }@
-    @{ "fixnum/mod" "math-internals"         }@
-    @{ "fixnum-bitand" "math-internals"      }@
-    @{ "fixnum-bitor" "math-internals"       }@
-    @{ "fixnum-bitxor" "math-internals"      }@
-    @{ "fixnum-bitnot" "math-internals"      }@
-    @{ "fixnum-shift" "math-internals"       }@
-    @{ "fixnum<" "math-internals"            }@
-    @{ "fixnum<=" "math-internals"           }@
-    @{ "fixnum>" "math-internals"            }@
-    @{ "fixnum>=" "math-internals"           }@
-    @{ "bignum=" "math-internals"            }@
-    @{ "bignum+" "math-internals"            }@
-    @{ "bignum-" "math-internals"            }@
-    @{ "bignum*" "math-internals"            }@
-    @{ "bignum/i" "math-internals"           }@
-    @{ "bignum/f" "math-internals"           }@
-    @{ "bignum-mod" "math-internals"         }@
-    @{ "bignum/mod" "math-internals"         }@
-    @{ "bignum-bitand" "math-internals"      }@
-    @{ "bignum-bitor" "math-internals"       }@
-    @{ "bignum-bitxor" "math-internals"      }@
-    @{ "bignum-bitnot" "math-internals"      }@
-    @{ "bignum-shift" "math-internals"       }@
-    @{ "bignum<" "math-internals"            }@
-    @{ "bignum<=" "math-internals"           }@
-    @{ "bignum>" "math-internals"            }@
-    @{ "bignum>=" "math-internals"           }@
-    @{ "float=" "math-internals"             }@
-    @{ "float+" "math-internals"             }@
-    @{ "float-" "math-internals"             }@
-    @{ "float*" "math-internals"             }@
-    @{ "float/f" "math-internals"            }@
-    @{ "float<" "math-internals"             }@
-    @{ "float<=" "math-internals"            }@
-    @{ "float>" "math-internals"             }@
-    @{ "float>=" "math-internals"            }@
-    @{ "facos" "math-internals"              }@
-    @{ "fasin" "math-internals"              }@
-    @{ "fatan" "math-internals"              }@
-    @{ "fatan2" "math-internals"             }@
-    @{ "fcos" "math-internals"               }@
-    @{ "fexp" "math-internals"               }@
-    @{ "fcosh" "math-internals"              }@
-    @{ "flog" "math-internals"               }@
-    @{ "fpow" "math-internals"               }@
-    @{ "fsin" "math-internals"               }@
-    @{ "fsinh" "math-internals"              }@
-    @{ "fsqrt" "math-internals"              }@
-    @{ "<word>" "words"                      }@
-    @{ "update-xt" "words"                   }@
-    @{ "compiled?" "words"                   }@
-    @{ "drop" "kernel"                       }@
-    @{ "2drop" "kernel"                      }@
-    @{ "3drop" "kernel"                      }@
-    @{ "dup" "kernel"                        }@
-    @{ "2dup" "kernel"                       }@
-    @{ "3dup" "kernel"                       }@
-    @{ "rot" "kernel"                        }@
-    @{ "-rot" "kernel"                       }@
-    @{ "dupd" "kernel"                       }@
-    @{ "swapd" "kernel"                      }@
-    @{ "nip" "kernel"                        }@
-    @{ "2nip" "kernel"                       }@
-    @{ "tuck" "kernel"                       }@
-    @{ "over" "kernel"                       }@
-    @{ "pick" "kernel"                       }@
-    @{ "swap" "kernel"                       }@
-    @{ ">r" "kernel"                         }@
-    @{ "r>" "kernel"                         }@
-    @{ "eq?" "kernel"                        }@
-    @{ "getenv" "kernel-internals"           }@
-    @{ "setenv" "kernel-internals"           }@
-    @{ "stat" "io"                           }@
-    @{ "(directory)" "io"                    }@
-    @{ "gc" "memory"                         }@
-    @{ "gc-time" "memory"                    }@
-    @{ "save-image" "memory"                 }@
-    @{ "datastack" "kernel"                  }@
-    @{ "callstack" "kernel"                  }@
-    @{ "set-datastack" "kernel"              }@
-    @{ "set-callstack" "kernel"              }@
-    @{ "exit" "kernel"                       }@
-    @{ "room" "memory"                       }@
-    @{ "os-env" "kernel"                     }@
-    @{ "millis" "kernel"                     }@
-    @{ "type" "kernel"                       }@
-    @{ "tag" "kernel-internals"              }@
-    @{ "cwd" "io"                            }@
-    @{ "cd" "io"                             }@
-    @{ "compiled-offset" "assembler"         }@
-    @{ "set-compiled-offset" "assembler"     }@
-    @{ "literal-top" "assembler"             }@
-    @{ "set-literal-top" "assembler"         }@
-    @{ "address" "memory"                    }@
-    @{ "dlopen" "alien"                      }@
-    @{ "dlsym" "alien"                       }@
-    @{ "dlclose" "alien"                     }@
-    @{ "<alien>" "alien"                     }@
-    @{ "<byte-array>" "arrays"               }@
-    @{ "<displaced-alien>" "alien"           }@
-    @{ "alien-signed-cell" "alien"           }@
-    @{ "set-alien-signed-cell" "alien"       }@
-    @{ "alien-unsigned-cell" "alien"         }@
-    @{ "set-alien-unsigned-cell" "alien"     }@
-    @{ "alien-signed-8" "alien"              }@
-    @{ "set-alien-signed-8" "alien"          }@
-    @{ "alien-unsigned-8" "alien"            }@
-    @{ "set-alien-unsigned-8" "alien"        }@
-    @{ "alien-signed-4" "alien"              }@
-    @{ "set-alien-signed-4" "alien"          }@
-    @{ "alien-unsigned-4" "alien"            }@
-    @{ "set-alien-unsigned-4" "alien"        }@
-    @{ "alien-signed-2" "alien"              }@
-    @{ "set-alien-signed-2" "alien"          }@
-    @{ "alien-unsigned-2" "alien"            }@
-    @{ "set-alien-unsigned-2" "alien"        }@
-    @{ "alien-signed-1" "alien"              }@
-    @{ "set-alien-signed-1" "alien"          }@
-    @{ "alien-unsigned-1" "alien"            }@
-    @{ "set-alien-unsigned-1" "alien"        }@
-    @{ "alien-float" "alien"                 }@
-    @{ "set-alien-float" "alien"             }@
-    @{ "alien-double" "alien"                }@
-    @{ "set-alien-double" "alien"            }@
-    @{ "alien-c-string" "alien"              }@
-    @{ "set-alien-c-string" "alien"          }@
-    @{ "throw" "errors"                      }@
-    @{ "string>memory" "kernel-internals"    }@
-    @{ "memory>string" "kernel-internals"    }@
-    @{ "alien-address" "alien"               }@
-    @{ "slot" "kernel-internals"             }@
-    @{ "set-slot" "kernel-internals"         }@
-    @{ "integer-slot" "kernel-internals"     }@
-    @{ "set-integer-slot" "kernel-internals" }@
-    @{ "char-slot" "kernel-internals"        }@
-    @{ "set-char-slot" "kernel-internals"    }@
-    @{ "resize-array" "arrays"               }@
-    @{ "resize-string" "strings"             }@
-    @{ "<hashtable>" "hashtables"            }@
-    @{ "<array>" "arrays"                    }@
-    @{ "<tuple>" "kernel-internals"          }@
-    @{ "begin-scan" "memory"                 }@
-    @{ "next-object" "memory"                }@
-    @{ "end-scan" "memory"                   }@
-    @{ "size" "memory"                       }@
-    @{ "die" "kernel"                        }@
-    @{ "flush-icache" "assembler"            }@
-    @{ "fopen"  "io-internals"               }@
-    @{ "fgetc" "io-internals"                }@
-    @{ "fwrite" "io-internals"               }@
-    @{ "fflush" "io-internals"               }@
-    @{ "fclose" "io-internals"               }@
-    @{ "expired?" "alien"                    }@
-    @{ "<wrapper>" "kernel"                  }@
-    @{ "(clone)" "kernel-internals"          }@
-    @{ "(array>tuple)" "kernel-internals"    }@
-    @{ "tuple>array" "generic"               }@
-    @{ "array>vector" "vectors"              }@
-}@ dup length 3 swap [ + ] map-with [ make-primitive ] 2each
-
-: set-stack-effect ( @{ vocab word effect }@ -- )
+{
+    { "execute" "words"                     }
+    { "call" "kernel"                       }
+    { "if" "kernel"                         }
+    { "dispatch" "kernel-internals"         }
+    { "cons" "lists"                        }
+    { "<vector>" "vectors"                  }
+    { "rehash-string" "strings"             }
+    { "<sbuf>" "strings"                    }
+    { "sbuf>string" "strings"               }
+    { ">fixnum" "math"                      }
+    { ">bignum" "math"                      }
+    { ">float" "math"                       }
+    { "(fraction>)" "math-internals"        }
+    { "string>float" "math-internals"       }
+    { "float>string" "math-internals"       }
+    { "float>bits" "math"                   }
+    { "double>bits" "math"                  }
+    { "bits>float" "math"                   }
+    { "bits>double" "math"                  }
+    { "<complex>" "math-internals"          }
+    { "fixnum+" "math-internals"            }
+    { "fixnum-" "math-internals"            }
+    { "fixnum*" "math-internals"            }
+    { "fixnum/i" "math-internals"           }
+    { "fixnum/f" "math-internals"           }
+    { "fixnum-mod" "math-internals"         }
+    { "fixnum/mod" "math-internals"         }
+    { "fixnum-bitand" "math-internals"      }
+    { "fixnum-bitor" "math-internals"       }
+    { "fixnum-bitxor" "math-internals"      }
+    { "fixnum-bitnot" "math-internals"      }
+    { "fixnum-shift" "math-internals"       }
+    { "fixnum<" "math-internals"            }
+    { "fixnum<=" "math-internals"           }
+    { "fixnum>" "math-internals"            }
+    { "fixnum>=" "math-internals"           }
+    { "bignum=" "math-internals"            }
+    { "bignum+" "math-internals"            }
+    { "bignum-" "math-internals"            }
+    { "bignum*" "math-internals"            }
+    { "bignum/i" "math-internals"           }
+    { "bignum/f" "math-internals"           }
+    { "bignum-mod" "math-internals"         }
+    { "bignum/mod" "math-internals"         }
+    { "bignum-bitand" "math-internals"      }
+    { "bignum-bitor" "math-internals"       }
+    { "bignum-bitxor" "math-internals"      }
+    { "bignum-bitnot" "math-internals"      }
+    { "bignum-shift" "math-internals"       }
+    { "bignum<" "math-internals"            }
+    { "bignum<=" "math-internals"           }
+    { "bignum>" "math-internals"            }
+    { "bignum>=" "math-internals"           }
+    { "float=" "math-internals"             }
+    { "float+" "math-internals"             }
+    { "float-" "math-internals"             }
+    { "float*" "math-internals"             }
+    { "float/f" "math-internals"            }
+    { "float<" "math-internals"             }
+    { "float<=" "math-internals"            }
+    { "float>" "math-internals"             }
+    { "float>=" "math-internals"            }
+    { "facos" "math-internals"              }
+    { "fasin" "math-internals"              }
+    { "fatan" "math-internals"              }
+    { "fatan2" "math-internals"             }
+    { "fcos" "math-internals"               }
+    { "fexp" "math-internals"               }
+    { "fcosh" "math-internals"              }
+    { "flog" "math-internals"               }
+    { "fpow" "math-internals"               }
+    { "fsin" "math-internals"               }
+    { "fsinh" "math-internals"              }
+    { "fsqrt" "math-internals"              }
+    { "<word>" "words"                      }
+    { "update-xt" "words"                   }
+    { "compiled?" "words"                   }
+    { "drop" "kernel"                       }
+    { "2drop" "kernel"                      }
+    { "3drop" "kernel"                      }
+    { "dup" "kernel"                        }
+    { "2dup" "kernel"                       }
+    { "3dup" "kernel"                       }
+    { "rot" "kernel"                        }
+    { "-rot" "kernel"                       }
+    { "dupd" "kernel"                       }
+    { "swapd" "kernel"                      }
+    { "nip" "kernel"                        }
+    { "2nip" "kernel"                       }
+    { "tuck" "kernel"                       }
+    { "over" "kernel"                       }
+    { "pick" "kernel"                       }
+    { "swap" "kernel"                       }
+    { ">r" "kernel"                         }
+    { "r>" "kernel"                         }
+    { "eq?" "kernel"                        }
+    { "getenv" "kernel-internals"           }
+    { "setenv" "kernel-internals"           }
+    { "stat" "io"                           }
+    { "(directory)" "io"                    }
+    { "gc" "memory"                         }
+    { "gc-time" "memory"                    }
+    { "save-image" "memory"                 }
+    { "datastack" "kernel"                  }
+    { "callstack" "kernel"                  }
+    { "set-datastack" "kernel"              }
+    { "set-callstack" "kernel"              }
+    { "exit" "kernel"                       }
+    { "room" "memory"                       }
+    { "os-env" "kernel"                     }
+    { "millis" "kernel"                     }
+    { "type" "kernel"                       }
+    { "tag" "kernel-internals"              }
+    { "cwd" "io"                            }
+    { "cd" "io"                             }
+    { "compiled-offset" "assembler"         }
+    { "set-compiled-offset" "assembler"     }
+    { "literal-top" "assembler"             }
+    { "set-literal-top" "assembler"         }
+    { "address" "memory"                    }
+    { "dlopen" "alien"                      }
+    { "dlsym" "alien"                       }
+    { "dlclose" "alien"                     }
+    { "<alien>" "alien"                     }
+    { "<byte-array>" "arrays"               }
+    { "<displaced-alien>" "alien"           }
+    { "alien-signed-cell" "alien"           }
+    { "set-alien-signed-cell" "alien"       }
+    { "alien-unsigned-cell" "alien"         }
+    { "set-alien-unsigned-cell" "alien"     }
+    { "alien-signed-8" "alien"              }
+    { "set-alien-signed-8" "alien"          }
+    { "alien-unsigned-8" "alien"            }
+    { "set-alien-unsigned-8" "alien"        }
+    { "alien-signed-4" "alien"              }
+    { "set-alien-signed-4" "alien"          }
+    { "alien-unsigned-4" "alien"            }
+    { "set-alien-unsigned-4" "alien"        }
+    { "alien-signed-2" "alien"              }
+    { "set-alien-signed-2" "alien"          }
+    { "alien-unsigned-2" "alien"            }
+    { "set-alien-unsigned-2" "alien"        }
+    { "alien-signed-1" "alien"              }
+    { "set-alien-signed-1" "alien"          }
+    { "alien-unsigned-1" "alien"            }
+    { "set-alien-unsigned-1" "alien"        }
+    { "alien-float" "alien"                 }
+    { "set-alien-float" "alien"             }
+    { "alien-double" "alien"                }
+    { "set-alien-double" "alien"            }
+    { "alien-c-string" "alien"              }
+    { "set-alien-c-string" "alien"          }
+    { "throw" "errors"                      }
+    { "string>memory" "kernel-internals"    }
+    { "memory>string" "kernel-internals"    }
+    { "alien-address" "alien"               }
+    { "slot" "kernel-internals"             }
+    { "set-slot" "kernel-internals"         }
+    { "integer-slot" "kernel-internals"     }
+    { "set-integer-slot" "kernel-internals" }
+    { "char-slot" "kernel-internals"        }
+    { "set-char-slot" "kernel-internals"    }
+    { "resize-array" "arrays"               }
+    { "resize-string" "strings"             }
+    { "<hashtable>" "hashtables"            }
+    { "<array>" "arrays"                    }
+    { "<tuple>" "kernel-internals"          }
+    { "begin-scan" "memory"                 }
+    { "next-object" "memory"                }
+    { "end-scan" "memory"                   }
+    { "size" "memory"                       }
+    { "die" "kernel"                        }
+    { "flush-icache" "assembler"            }
+    { "fopen"  "io-internals"               }
+    { "fgetc" "io-internals"                }
+    { "fwrite" "io-internals"               }
+    { "fflush" "io-internals"               }
+    { "fclose" "io-internals"               }
+    { "expired?" "alien"                    }
+    { "<wrapper>" "kernel"                  }
+    { "(clone)" "kernel-internals"          }
+    { "(array>tuple)" "kernel-internals"    }
+    { "tuple>array" "generic"               }
+    { "array>vector" "vectors"              }
+} dup length 3 swap [ + ] map-with [ make-primitive ] 2each
+
+: set-stack-effect ( { vocab word effect } -- )
     first3 >r lookup r> "stack-effect" set-word-prop ;
 
-@{
-    @{ "drop" "kernel" " x -- " }@
-    @{ "2drop" "kernel" " x y -- " }@
-    @{ "3drop" "kernel" " x y z -- " }@
-    @{ "dup" "kernel"  " x -- x x " }@
-    @{ "2dup" "kernel"  " x y -- x y x y " }@
-    @{ "3dup" "kernel"  " x y z -- x y z x y z " }@
-    @{ "rot" "kernel"  " x y z -- y z x " }@
-    @{ "-rot" "kernel"  " x y z -- z x y " }@
-    @{ "dupd" "kernel"  " x y -- x x y " }@
-    @{ "swapd" "kernel"  " x y z -- y x z " }@
-    @{ "nip" "kernel"  " x y -- y " }@
-    @{ "2nip" "kernel"  " x y z -- z " }@
-    @{ "tuck" "kernel"  " x y -- y x y " }@
-    @{ "over" "kernel" " x y -- x y x " }@
-    @{ "pick" "kernel" " x y z -- x y z x " }@
-    @{ "swap" "kernel" " x y -- y x " }@
-    @{ ">r" "kernel"   " x -- r: x " }@
-    @{ "r>" "kernel"   " r: x -- x " }@
-    @{ "datastack" "kernel" " -- ds " }@
-    @{ "callstack" "kernel" " -- cs " }@
-    @{ "set-datastack" "kernel" " ds -- " }@
-    @{ "set-callstack" "kernel" " cs -- " }@
-    @{ "flush-icache" "assembler" " -- " }@
-}@ [
+{
+    { "drop" "kernel" " x -- " }
+    { "2drop" "kernel" " x y -- " }
+    { "3drop" "kernel" " x y z -- " }
+    { "dup" "kernel"  " x -- x x " }
+    { "2dup" "kernel"  " x y -- x y x y " }
+    { "3dup" "kernel"  " x y z -- x y z x y z " }
+    { "rot" "kernel"  " x y z -- y z x " }
+    { "-rot" "kernel"  " x y z -- z x y " }
+    { "dupd" "kernel"  " x y -- x x y " }
+    { "swapd" "kernel"  " x y z -- y x z " }
+    { "nip" "kernel"  " x y -- y " }
+    { "2nip" "kernel"  " x y z -- z " }
+    { "tuck" "kernel"  " x y -- y x y " }
+    { "over" "kernel" " x y -- x y x " }
+    { "pick" "kernel" " x y z -- x y z x " }
+    { "swap" "kernel" " x y -- y x " }
+    { ">r" "kernel"   " x -- r: x " }
+    { "r>" "kernel"   " r: x -- x " }
+    { "datastack" "kernel" " -- ds " }
+    { "callstack" "kernel" " -- cs " }
+    { "set-datastack" "kernel" " ds -- " }
+    { "set-callstack" "kernel" " cs -- " }
+    { "flush-icache" "assembler" " -- " }
+} [
     set-stack-effect
 ] each
 
@@ -267,7 +267,7 @@ FORGET: set-stack-effect
     define-slots
     register-builtin ;
 
-{{ }} clone typemap set
+H{ } clone typemap set
 num-types <array> builtins set
 
 ! These symbols are needed by the code that executes below
@@ -275,101 +275,101 @@ num-types <array> builtins set
 "null" "generic" create drop
 
 "fixnum?" "math" create t "inline" set-word-prop
-"fixnum" "math" create 0 "fixnum?" "math" create @{ }@ define-builtin
+"fixnum" "math" create 0 "fixnum?" "math" create { } define-builtin
 "fixnum" "math" create 0 "math-priority" set-word-prop
 "fixnum" "math" create ">fixnum" [ "math" ] search unit "coercer" set-word-prop
 
 "bignum?" "math" create t "inline" set-word-prop
-"bignum" "math" create 1 "bignum?" "math" create @{ }@ define-builtin
+"bignum" "math" create 1 "bignum?" "math" create { } define-builtin
 "bignum" "math" create 1 "math-priority" set-word-prop
 "bignum" "math" create ">bignum" [ "math" ] search unit "coercer" set-word-prop
 
 "cons?" "lists" create t "inline" set-word-prop
 "cons" "lists" create 2 "cons?" "lists" create
-@{ @{ 0 @{ "car" "lists" }@ f }@ @{ 1 @{ "cdr" "lists" }@ f }@ }@ define-builtin
+{ { 0 { "car" "lists" } f } { 1 { "cdr" "lists" } f } } define-builtin
 
 "ratio?" "math" create t "inline" set-word-prop
 "ratio" "math" create 4 "ratio?" "math" create
-@{ @{ 0 @{ "numerator" "math" }@ f }@ @{ 1 @{ "denominator" "math" }@ f }@ }@ define-builtin
+{ { 0 { "numerator" "math" } f } { 1 { "denominator" "math" } f } } define-builtin
 "ratio" "math" create 2 "math-priority" set-word-prop
 
 "float?" "math" create t "inline" set-word-prop
-"float" "math" create 5 "float?" "math" create @{ }@ define-builtin
+"float" "math" create 5 "float?" "math" create { } define-builtin
 "float" "math" create 3 "math-priority" set-word-prop
 "float" "math" create ">float" [ "math" ] search unit "coercer" set-word-prop
 
 "complex?" "math" create t "inline" set-word-prop
 "complex" "math" create 6 "complex?" "math" create
-@{ @{ 0 @{ "real" "math" }@ f }@ @{ 1 @{ "imaginary" "math" }@ f }@ }@ define-builtin
+{ { 0 { "real" "math" } f } { 1 { "imaginary" "math" } f } } define-builtin
 "complex" "math" create 4 "math-priority" set-word-prop
 
-"displaced-alien" "alien" create 7 "displaced-alien?" "alien" create @{ }@ define-builtin
+"displaced-alien" "alien" create 7 "displaced-alien?" "alien" create { } define-builtin
 
 "array?" "arrays" create t "inline" set-word-prop
 "array" "arrays" create 8 "array?" "arrays" create
-@{ }@ define-builtin
+{ } define-builtin
 
 "f" "!syntax" create 9 "not" "kernel" create
-@{ }@ define-builtin
+{ } define-builtin
 
 "hashtable?" "hashtables" create t "inline" set-word-prop
 "hashtable" "hashtables" create 10 "hashtable?" "hashtables" create
-@{
-    @{ 1 @{ "hash-size" "hashtables" }@ @{ "set-hash-size" "kernel-internals" }@ }@
-    @{ 2 @{ "underlying" "sequences-internals" }@ @{ "set-underlying" "sequences-internals" }@ }@
-}@ define-builtin
+{
+    { 1 { "hash-size" "hashtables" } { "set-hash-size" "kernel-internals" } }
+    { 2 { "underlying" "sequences-internals" } { "set-underlying" "sequences-internals" } }
+} define-builtin
 
 "vector?" "vectors" create t "inline" set-word-prop
 "vector" "vectors" create 11 "vector?" "vectors" create
-@{
-    @{ 1 @{ "length" "sequences" }@ @{ "set-fill" "sequences-internals" }@ }@
-    @{ 2 @{ "underlying" "sequences-internals" }@ @{ "set-underlying" "sequences-internals" }@ }@
-}@ define-builtin
+{
+    { 1 { "length" "sequences" } { "set-fill" "sequences-internals" } }
+    { 2 { "underlying" "sequences-internals" } { "set-underlying" "sequences-internals" } }
+} define-builtin
 
 "string?" "strings" create t "inline" set-word-prop
 "string" "strings" create 12 "string?" "strings" create
-@{
-    @{ 1 @{ "length" "sequences" }@ f }@
-    @{ 2 @{ "hashcode" "kernel" }@ f }@
-}@ define-builtin
+{
+    { 1 { "length" "sequences" } f }
+    { 2 { "hashcode" "kernel" } f }
+} define-builtin
 
 "sbuf?" "strings" create t "inline" set-word-prop 
 "sbuf" "strings" create 13 "sbuf?" "strings" create
-@{
-    @{ 1 @{ "length" "sequences" }@ @{ "set-fill" "sequences-internals" }@ }@
-    @{ 2 @{ "underlying" "sequences-internals" }@ @{ "set-underlying" "sequences-internals" }@ }@
-}@ define-builtin
+{
+    { 1 { "length" "sequences" } { "set-fill" "sequences-internals" } }
+    { 2 { "underlying" "sequences-internals" } { "set-underlying" "sequences-internals" } }
+} define-builtin
 
 "wrapper?" "kernel" create t "inline" set-word-prop
 "wrapper" "kernel" create 14 "wrapper?" "kernel" create
-@{ @{ 1 @{ "wrapped" "kernel" }@ f }@ }@ define-builtin
+{ { 1 { "wrapped" "kernel" } f } } define-builtin
 
 "dll?" "alien" create t "inline" set-word-prop
 "dll" "alien" create 15 "dll?" "alien" create
-@{ @{ 1 @{ "dll-path" "alien" }@ f }@ }@ define-builtin
+{ { 1 { "dll-path" "alien" } f } } define-builtin
 
 "alien?" "alien" create t "inline" set-word-prop
-"alien" "alien" create 16 "alien?" "alien" create @{ }@ define-builtin
+"alien" "alien" create 16 "alien?" "alien" create { } define-builtin
 
 "word?" "words" create t "inline" set-word-prop
 "word" "words" create 17 "word?" "words" create
-@{
-    @{ 1 @{ "hashcode" "kernel" }@ f }@
-    @{ 2 @{ "word-name" "words" }@ f }@
-    @{ 3 @{ "word-vocabulary" "words" }@ @{ "set-word-vocabulary" "words" }@ }@
-    @{ 4 @{ "word-primitive" "words" }@ @{ "set-word-primitive" "words" }@ }@
-    @{ 5 @{ "word-def" "words" }@ @{ "set-word-def" "words" }@ }@
-    @{ 6 @{ "word-props" "words" }@ @{ "set-word-props" "words" }@ }@
-}@ define-builtin
+{
+    { 1 { "hashcode" "kernel" } f }
+    { 2 { "word-name" "words" } f }
+    { 3 { "word-vocabulary" "words" } { "set-word-vocabulary" "words" } }
+    { 4 { "word-primitive" "words" } { "set-word-primitive" "words" } }
+    { 5 { "word-def" "words" } { "set-word-def" "words" } }
+    { 6 { "word-props" "words" } { "set-word-props" "words" } }
+} define-builtin
 
 "tuple?" "kernel" create t "inline" set-word-prop
 "tuple" "kernel" create 18 "tuple?" "kernel" create
-@{ }@ define-builtin
+{ } define-builtin
 
 "byte-array?" "arrays" create t "inline" set-word-prop
 "byte-array" "arrays" create 19
 "byte-array?" "arrays" create
-@{ }@ define-builtin
+{ } define-builtin
 
 ! Define general-t type, which is any object that is not f.
 "general-t" "kernel" create dup define-symbol
@@ -383,7 +383,7 @@ f builtins get [ ] subset define-union
 
 ! Null class with no instances.
 "null" "generic" create [ drop f ] "predicate" set-word-prop
-"null" "generic" create dup define-symbol f @{ }@ define-union
+"null" "generic" create dup define-symbol f { } define-union
 
 FORGET: builtin-predicate
 FORGET: register-builtin
index c3b01bb48ef48bae9152620c4578a90b57511f47..ed822103398259884a30019ce7eeeeb15f3855b8 100644 (file)
@@ -33,15 +33,15 @@ M: byte-array clone (clone) ;
 M: byte-array length array-capacity ;
 M: byte-array resize resize-array ;
 
-: 1array ( x -- @{ x }@ )
+: 1array ( x -- { x } )
     1 <array> [ 0 swap set-array-nth ] keep ; flushable
 
-: 2array ( x y -- @{ x y }@ )
+: 2array ( x y -- { x y } )
     2 <array>
     [ 1 swap set-array-nth ] keep
     [ 0 swap set-array-nth ] keep ; flushable
 
-: 3array ( x y z -- @{ x y z }@ )
+: 3array ( x y z -- { x y z } )
     3 <array>
     [ 2 swap set-array-nth ] keep
     [ 1 swap set-array-nth ] keep
index 4dba267c1a0305e8fc4b523ddfeff4e983cf1be3..2a65e506164dd5717677611cf26c67150944efab 100644 (file)
@@ -163,12 +163,12 @@ M: hashtable clone ( hash -- hash ) clone-growable ;
     2dup hash-contained? >r swap hash-contained? r> and ;
 
 M: hashtable = ( obj hash -- ? )
-    @{
-        @{ [ 2dup eq? ] [ 2drop t ] }@
-        @{ [ over hashtable? not ] [ 2drop f ] }@
-        @{ [ 2dup [ hash-size ] 2apply number= not ] [ 2drop f ] }@
-        @{ [ t ] [ hashtable= ] }@
-    }@ cond ;
+    {
+        { [ 2dup eq? ] [ 2drop t ] }
+        { [ over hashtable? not ] [ 2drop f ] }
+        { [ 2dup [ hash-size ] 2apply number= not ] [ 2drop f ] }
+        { [ t ] [ hashtable= ] }
+    } cond ;
 
 M: hashtable hashcode ( hash -- n )
     #! Poor.
index 447c159877e54609bfa6efa9f905c78c05c7c11f..fb0fc77df5a8b40d00169e474b81946b5cc37f63 100644 (file)
@@ -60,11 +60,11 @@ M: general-list nth ( n list -- element )
     over 0 number= [ nip car ] [ >r 1- r> cdr nth ] if ;
 
 M: cons = ( obj cons -- ? )
-    @{
-        @{ [ 2dup eq? ] [ 2drop t ] }@
-        @{ [ over cons? not ] [ 2drop f ] }@
-        @{ [ t ] [ 2dup 2car = >r 2cdr = r> and ] }@
-    }@ cond ;
+    {
+        { [ 2dup eq? ] [ 2drop t ] }
+        { [ over cons? not ] [ 2drop f ] }
+        { [ t ] [ 2dup 2car = >r 2cdr = r> and ] }
+    } cond ;
 
 M: f = ( obj f -- ? ) eq? ;
 
index 8a179809c0a336ed707b47912ad30b4d22b78506..a69c34664881b4c9bac680627b9dcb7dfde743f0 100644 (file)
@@ -64,7 +64,7 @@ strings vectors words ;
 : nest ( variable -- hash )
     #! If the variable is set in the current namespace, return
     #! its value, otherwise set its value to a new namespace.
-    dup namespace hash [ ] [ >r {{ }} clone dup r> set ] ?if ;
+    dup namespace hash [ ] [ >r H{ } clone dup r> set ] ?if ;
 
 : change ( var quot -- )
     #! Execute the quotation with the variable value on the
@@ -84,7 +84,7 @@ strings vectors words ;
     #! Execute a quotation with a namespace on the namestack.
     swap >n call n> drop ; inline
 
-: make-hash ( quot -- hash ) {{ }} clone >n call n> ; inline
+: make-hash ( quot -- hash ) H{ } clone >n call n> ; inline
 
 : with-scope ( quot -- ) make-hash drop ; inline
 
@@ -129,7 +129,7 @@ SYMBOL: hash-buffer
 
 : closure ( key hash -- list )
     [
-        {{ }} clone hash-buffer set
+        H{ } clone hash-buffer set
         (closure)
         hash-buffer get hash-keys
     ] with-scope ;
index 3600e34b339a4f345142efd3fae5b588b2edb6d1..2d671047a066b4c3f266ed6fa32a7a02733cac1f 100644 (file)
@@ -149,8 +149,8 @@ M: object find ( seq quot -- i elt )
     swap [ with rot ] subset 2nip ; inline
 
 : monotonic? ( seq quot -- ? | quot: elt elt -- ? )
-    #! Eg, @{ 1 2 3 4 }@ [ < ] monotonic? ==> t
-    #!     @{ 1 3 2 4 }@ [ < ] monotonic? ==> f
+    #! Eg, { 1 2 3 4 } [ < ] monotonic? ==> t
+    #!     { 1 3 2 4 } [ < ] monotonic? ==> f
     #! Don't use with lists.
     swap dup length 1- [
         pick pick >r >r (monotonic) r> r> rot
index 7e0f85ff86ab14e55f6df9ccca75a70d394ba2fe..2e0700aa79ff657b25c253d4b00bf3fb7d849190 100644 (file)
@@ -17,13 +17,13 @@ sequences strings vectors words ;
 
 IN: sequences
 
-: first2 ( @{ x y }@ -- x y )
+: first2 ( { x y } -- x y )
     1 swap bounds-check nip first2-unsafe ; inline
 
-: first3 ( @{ x y z }@ -- x y z )
+: first3 ( { x y z } -- x y z )
     2 swap bounds-check nip first3-unsafe ; inline
 
-: first4 ( @{ x y z w }@ -- x y z w )
+: first4 ( { x y z w } -- x y z w )
     3 swap bounds-check nip first4-unsafe ; inline
 
 M: object like drop ;
@@ -161,7 +161,7 @@ M: object reverse ( seq -- seq ) [ <reversed> ] keep like ;
 
 : flip ( seq -- seq )
     #! An example illustrates this word best:
-    #! @{ @{ 1 2 3 }@ @{ 4 5 6 }@ }@ ==> @{ @{ 1 4 }@ @{ 2 5 }@ @{ 3 6 }@ }@
+    #! { { 1 2 3 } { 4 5 6 } } ==> { { 1 4 } { 2 5 } { 3 6 } }
     dup empty? [
         dup first [ length ] keep like
         [ swap [ nth ] map-with ] map-with
@@ -177,7 +177,7 @@ IN: kernel
 
 : cond ( conditions -- )
     #! Conditions is a sequence of quotation pairs.
-    #! @{ @{ [ X ] [ Y ] }@ @{ [ Z ] [ T ] }@ }@
+    #! { { [ X ] [ Y ] } { [ Z ] [ T ] } }
     #! => X [ Y ] [ Z [ T ] [ ] if ] if
     #! The last condition should be a catch-all 't'.
     [ first call ] find nip dup
index bf573ba183340f767c484ce0570ed6a8383b2dec..b468cb32637e21374352e091ca44713e179bac24 100644 (file)
@@ -57,7 +57,7 @@ M: object tail ( index seq -- seq ) [ tail-slice ] keep like ;
         2dup head , dupd tail-slice (group)
     ] if ;
 
-: group ( n seq -- seq ) [ (group) ] @{ }@ make ; flushable
+: group ( n seq -- seq ) [ (group) ] { } make ; flushable
 
 : start-step ( subseq seq n -- subseq slice )
     pick length dupd + rot <slice> ;
index 1b1ba340b35fc9c76021529e4a4c335a2b31c4e6..a7a8bddc2111b57c80ede0da64ab448a97dd6a52 100644 (file)
@@ -42,6 +42,6 @@ SYMBOL: interned-literals
     compiled-offset 0 compile-cell ;
 
 : init-assembler ( -- )
-    {{ }} clone interned-literals global set-hash ;
+    H{ } clone interned-literals global set-hash ;
 
 : w>h/h dup -16 shift HEX: ffff bitand >r HEX: ffff bitand r> ;
index c37ac1e6f79b2f82c9aa2052008be3c30ed08641..5251a8ff0e03afddc7f96a1bca6555a0f4ca3fdf 100644 (file)
@@ -13,7 +13,7 @@ USING: arrays hashtables kernel lists math namespaces sequences ;
     ] if ;
 
 : split-blocks ( linear -- blocks )
-    [ 0 swap (split-blocks) ] @{ }@ make ;
+    [ 0 swap (split-blocks) ] { } make ;
 
 SYMBOL: d-height
 SYMBOL: r-height
@@ -54,11 +54,11 @@ M: %replace simplify-stack* ( vop -- ) 0 vop-out update-loc ;
 : preserves-location? ( exitcc location vop -- ? )
     #! If the VOP writes the register, call the loop exit
     #! continuation with 'f'.
-    @{
-        @{ [ 2dup vop-inputs member? ] [ 3drop t ] }@
-        @{ [ 2dup vop-outputs member? ] [ 2drop f swap continue-with ] }@
-        @{ [ t ] [ 3drop f ] }@
-    }@ cond ;
+    {
+        { [ 2dup vop-inputs member? ] [ 3drop t ] }
+        { [ 2dup vop-outputs member? ] [ 2drop f swap continue-with ] }
+        { [ t ] [ 3drop f ] }
+    } cond ;
 
 GENERIC: live@end? ( location -- ? )
 
@@ -141,11 +141,11 @@ M: %indirect trim-dead* ( tail vop -- ) ?dead-literal ;
     [
         0 d-height set
         0 r-height set
-        {{ }} clone vreg-contents set
+        H{ } clone vreg-contents set
         dup simplify-stack
         d-height get %inc-d r-height get %inc-r 2array append
         trim-dead
-    ] @{ }@ make ;
+    ] { } make ;
 
 : keep-simplifying ( block -- block )
     dup length >r simplify-block dup length r> =
index 2bf0c249f1f12711c35e4b5dc4ef80137e26b2e5..9fa41ce8ac9ba7fc93874df276fec49ab9b0c448 100644 (file)
@@ -29,7 +29,7 @@ GENERIC: generate-node ( vop -- )
 
 : (generate) ( word linear -- )
     #! Compile a word definition from linear IR.
-    { } clone relocation-table set
+    V{ } clone relocation-table set
     dup set-stack-reserve
     begin-assembly swap >r >r
         generate-code
index 2b08dea1394e1fc01cf03ffc9cec96568de32aa2..72c889b27c7e861a5ca72ff20dc415c7120b2d04 100644 (file)
@@ -119,13 +119,13 @@ namespaces sequences words ;
     over binary-op-imm?
     [ binary-op-imm ] [ binary-op-reg ] if ;
 
-@{
-    @{ fixnum+       %fixnum+       }@
-    @{ fixnum-       %fixnum-       }@
-    @{ fixnum-bitand %fixnum-bitand }@
-    @{ fixnum-bitor  %fixnum-bitor  }@
-    @{ fixnum-bitxor %fixnum-bitxor }@
-}@ [
+{
+    { fixnum+       %fixnum+       }
+    { fixnum-       %fixnum-       }
+    { fixnum-bitand %fixnum-bitand }
+    { fixnum-bitor  %fixnum-bitor  }
+    { fixnum-bitxor %fixnum-bitxor }
+} [
     first2 [ binary-op ] curry "intrinsic" set-word-prop
 ] each
 
@@ -139,13 +139,13 @@ namespaces sequences words ;
     pick binary-op-imm?
     [ binary-jump-imm ] [ binary-jump-reg ] if ;
 
-@{
-    @{ fixnum<= %jump-fixnum<= }@
-    @{ fixnum<  %jump-fixnum<  }@
-    @{ fixnum>= %jump-fixnum>= }@
-    @{ fixnum>  %jump-fixnum>  }@
-    @{ eq?      %jump-eq?      }@
-}@ [
+{
+    { fixnum<= %jump-fixnum<= }
+    { fixnum<  %jump-fixnum<  }
+    { fixnum>= %jump-fixnum>= }
+    { fixnum>  %jump-fixnum>  }
+    { eq?      %jump-eq?      }
+} [
     first2 [ binary-jump ] curry "if-intrinsic" set-word-prop
 ] each
 
@@ -161,18 +161,18 @@ namespaces sequences words ;
     in-2
     -1 %inc-d ,
     1 <vreg> 0 <vreg> 2 <vreg> %fixnum-mod ,
-    << vreg f 2 >> 0 %replace-d ,
+    T{ vreg f 2 } 0 %replace-d ,
 ] "intrinsic" set-word-prop
 
 \ fixnum/mod [
     ! See the remark on fixnum-mod for vreg usage
     drop
     in-2
-    @{ << vreg f 1 >> << vreg f 0 >> }@
-    @{ << vreg f 2 >> << vreg f 0 >> }@
+    { T{ vreg f 1 } T{ vreg f 0 } }
+    { T{ vreg f 2 } T{ vreg f 0 } }
     %fixnum/mod ,
-    << vreg f 2 >> 0 %replace-d ,
-    << vreg f 0 >> 1 %replace-d ,
+    T{ vreg f 2 } 0 %replace-d ,
+    T{ vreg f 0 } 1 %replace-d ,
 ] "intrinsic" set-word-prop
 
 \ fixnum-bitnot [
@@ -210,7 +210,7 @@ namespaces sequences words ;
     in-1
     dup cell -8 * <= [
         drop 0 <vreg> 2 <vreg> %fixnum-sgn ,
-        << vreg f 2 >> 0 %replace-d ,
+        T{ vreg f 2 } 0 %replace-d ,
     ] [
         neg 0 <vreg> 0 <vreg> %fixnum>> ,
         out-1
index 793924b86a71c8b0d19427db15b575a117809c12..b27fc4c274c7b8fa7305ab2539ec5f9120f2cec3 100644 (file)
@@ -10,7 +10,7 @@ GENERIC: linearize* ( node -- )
     #! Transform dataflow IR into linear IR. This strips out
     #! stack flow information, and flattens conditionals into
     #! jumps and labels.
-    [ %prologue , linearize* ] @{ }@ make ;
+    [ %prologue , linearize* ] { } make ;
 
 : linearize-next node-successor linearize* ;
 
index 336931a0da0d7b54390fb43f9f0f7b24a237b413..f9690a2e6be63c3d06669a7d955c1ab3cb0ea4d1 100644 (file)
@@ -57,11 +57,11 @@ SYMBOL: live-r
 : computed>stack >r get <vreg> swap r> execute , ;
 
 : vreg>stack ( stack-pos value storer -- )
-    @{
-        @{ [ over not ] [ 3drop ] }@
-        @{ [ over literal? ] [ literal>stack ] }@
-        @{ [ t ] [ computed>stack ] }@
-    }@ cond ; inline
+    {
+        { [ over not ] [ 3drop ] }
+        { [ over literal? ] [ literal>stack ] }
+        { [ t ] [ computed>stack ] }
+    } cond ; inline
 
 : (vregs>stack) ( stack storer -- )
     swap reverse-slice [ length ] keep
index 7dc2d05f46e96027f658ec013f07bfc27fb2cdf8..94ec5a3f95fd4054daad86c0dbf3d39b70836b73 100644 (file)
@@ -182,7 +182,7 @@ M: %immediate basic-block? drop t ;
 : in-1 0 0 %peek-d , ;
 : in-2 0 1 %peek-d ,  1 0 %peek-d , ;
 : in-3 0 2 %peek-d ,  1 1 %peek-d ,  2 0 %peek-d , ;
-: out-1 << vreg f 0 >> 0 %replace-d , ;
+: out-1 T{ vreg f 0 } 0 %replace-d , ;
 
 ! indirect load of a literal through a table
 TUPLE: %indirect ;
index d967962f6f75920636e6d3da7707ba9b409d3ee5..e8466b21b97b7892f2f2427b65830f5ce0841d9a 100644 (file)
@@ -18,7 +18,7 @@ USING: assembler compiler-backend kernel sequences ;
     #! Number of vregs
     3 ; inline
 
-M: vreg v>operand vreg-n @{ EAX ECX EDX }@ nth ;
+M: vreg v>operand vreg-n { EAX ECX EDX } nth ;
 
 ! On x86, parameters are never passed in registers.
 M: int-regs fastcall-regs drop 0 ;
index 3376c471c7c6a008a7d749080022c6d82410b03e..5192254ac3e82c5da823c11544694aa77c416a39 100644 (file)
@@ -134,7 +134,7 @@ M: absolute-16/16 fixup ( absolute -- ) >absolute fixup-16/16 ;
     [
         deferred-xts off
         compiled-xts off
-        { } clone compile-words set
+        V{ } clone compile-words set
         call
         fixup-xts
         commit-xts
index 2f7c90801d5a479197481ee132e4cb722b5972ae..fd7708607df682d168cb3dab6d2a4a307dfbf58a 100644 (file)
@@ -16,7 +16,7 @@ SYMBOL: open-fonts
     global [
         f <void*> dup FT_Init_FreeType freetype-error
         *void* freetype set
-        {{ }} clone open-fonts set
+        H{ } clone open-fonts set
     ] bind ;
 
 : free-sprite ( sprite -- )
@@ -33,7 +33,7 @@ M: font = eq? ;
 : flush-font ( font -- )
     #! Only do this after re-creating a GL context!
     dup font-sprites [ [ free-sprite ] when* ] each
-    { } clone swap set-font-sprites ;
+    V{ } clone swap set-font-sprites ;
 
 : close-font ( font -- )
     dup flush-font font-handle FT_Done_Face ;
@@ -53,7 +53,7 @@ M: font = eq? ;
     init-freetype [ close-freetype ] cleanup ; inline
 
 : ttf-name ( font style -- name )
-    cons {{
+    cons H{
         [[ [[ "Monospaced" plain       ]] "VeraMono" ]]
         [[ [[ "Monospaced" bold        ]] "VeraMoBd" ]]
         [[ [[ "Monospaced" bold-italic ]] "VeraMoBI" ]]
@@ -66,7 +66,7 @@ M: font = eq? ;
         [[ [[ "Serif" bold             ]] "VeraSeBd" ]]
         [[ [[ "Serif" bold-italic      ]] "VeraBI"   ]]
         [[ [[ "Serif" italic           ]] "VeraIt"   ]]
-    }} hash ;
+    } hash ;
 
 : ttf-path ( name -- string )
     [ "/fonts/" % % ".ttf" % ] "" make resource-path ;
@@ -100,12 +100,12 @@ M: font = eq? ;
 C: font ( handle -- font )
     [ set-font-handle ] keep dup flush-font dup init-font ;
 
-: open-font ( @{ font style ptsize }@ -- font )
+: open-font ( { font style ptsize } -- font )
     #! Open a font and set the point size of the font.
     first3 >r open-face dup 0 r> 6 shift
     dpi dpi FT_Set_Char_Size freetype-error <font> ;
 
-: lookup-font ( @{ font style ptsize }@ -- font )
+: lookup-font ( { font style ptsize } -- font )
     #! Cache open fonts.
     open-fonts get [ open-font ] cache ;
 
index 01d7af04518d6e71f82e44a7d5b48440b4693906..7537d040cfeee4a2a758e501cb9fd99c588d8ed2 100644 (file)
@@ -1,10 +1,10 @@
 USING: alien io kernel parser sequences ;
 
-"freetype" @{
-    @{ [ os "macosx" = ] [ "libfreetype.dylib" ] }@
-    @{ [ os "win32" = ] [ "freetype6.dll" ] }@
-    @{ [ t ] [ "libfreetype.so" ] }@
-}@ cond "cdecl" add-library
+"freetype" {
+    { [ os "macosx" = ] [ "libfreetype.dylib" ] }
+    { [ os "win32" = ] [ "freetype6.dll" ] }
+    { [ t ] [ "libfreetype.so" ] }
+} cond "cdecl" add-library
     
 [
     "/library/freetype/freetype.factor"
index 55a171986cfe8796d03da13c96af6e392e8f18ef..f76e790a4fa7db81311159afb5f3f3a4bf3529ad 100644 (file)
@@ -60,14 +60,14 @@ DEFER: class<
 
 : class< ( cls1 cls2 -- ? )
     #! Test if class1 is a subclass of class2.
-    @{
-        @{ [ 2dup eq? ] [ 2drop t ] }@
-        @{ [ over flatten hash-size 0 = ] [ 2drop t ] }@
-        @{ [ over superclass ] [ >r superclass r> class< ] }@
-        @{ [ dup superclass ] [ superclass< ] }@
-        @{ [ 2dup [ members ] 2apply or not ] [ 2drop f ] }@
-        @{ [ t ] [ (class<) ] }@
-    }@ cond ;
+    {
+        { [ 2dup eq? ] [ 2drop t ] }
+        { [ over flatten hash-size 0 = ] [ 2drop t ] }
+        { [ over superclass ] [ >r superclass r> class< ] }
+        { [ dup superclass ] [ superclass< ] }
+        { [ 2dup [ members ] 2apply or not ] [ 2drop f ] }
+        { [ t ] [ (class<) ] }
+    } cond ;
 
 : class-compare ( cls1 cls2 -- -1/0/1 )
     2dup eq? [ 2drop 0 ] [ class< 1 -1 ? ] if ;
@@ -105,7 +105,7 @@ M: generic definer drop \ G: ;
 
 : init-methods ( word -- )
      dup "methods" word-prop
-     [ drop ] [ {{ }} clone "methods" set-word-prop ] if ;
+     [ drop ] [ H{ } clone "methods" set-word-prop ] if ;
 
 ! Defining generic words
 
@@ -151,11 +151,11 @@ M: generic definer drop \ G: ;
 : class-and ( class class -- class )
     #! Return a class that is a subclass of both, or null in
     #! the degenerate case.
-    @{
-        @{ [ 2dup class< ] [ drop ] }@
-        @{ [ 2dup swap class< ] [ nip ] }@
-        @{ [ t ] [ (class-and) ] }@
-    }@ cond ;
+    {
+        { [ 2dup class< ] [ drop ] }
+        { [ 2dup swap class< ] [ nip ] }
+        { [ t ] [ (class-and) ] }
+    } cond ;
 
 : classes-intersect? ( class class -- ? )
     class-and flatten hash-size 0 > ;
index 63c156caa14e5bc2d2366f1799edcf5ae6d733f6..69756e2c670fbe0bc49b9da4f205de54354450a7 100644 (file)
@@ -52,7 +52,7 @@ TUPLE: no-math-method left right generic ;
 : math-vtable ( picker quot -- )
     [
         swap , \ tag ,
-        [ num-tags swap map % ] @{ }@ make ,
+        [ num-tags swap map % ] { } make ,
         \ dispatch ,
     ] [ ] make ; inline
 
index 0e54eb6237d6e971ee89eaff77671fb5768fe658..79521b38d77e5b6163b1cd26b6f12abfda2b6bdc 100644 (file)
@@ -29,7 +29,7 @@ parser sequences strings words ;
 : define-slot ( class slot reader writer -- )
     >r >r 2dup r> define-reader r> define-writer ;
 
-: ?create ( @{ name vocab }@ -- word )
+: ?create ( { name vocab } -- word )
     dup [ first2 create ] when ;
 
 : intern-slots ( spec -- spec )
index 7f81575e5d281a94f17e7b76b4cb287f209701f5..18e2dcb52e4242bedb716ba9afdc536622df31d2 100644 (file)
@@ -39,7 +39,7 @@ vectors words ;
         r> 2drop
     ] if ;
 
-: delegate-slots @{ @{ 3 delegate set-delegate }@ }@ ;
+: delegate-slots { { 3 delegate set-delegate } } ;
 
 : tuple-slots ( tuple slots -- )
     2dup "slot-names" set-word-prop
index 983b998ff0d28c4974ebaab090349492ecbf5276..a5699c2bbb89e6725cdbd927da2a2eb216e8e814 100644 (file)
@@ -4,37 +4,37 @@ gadgets-editors gadgets-labels gadgets-layouts gadgets-panes
 gadgets-presentations gadgets-theme generic kernel lists math\r
 namespaces sdl sequences strings styles ;\r
 \r
-: tutorial-font @{ "Serif" plain 14 }@ swap set-label-font ;\r
+: tutorial-font { "Serif" plain 14 } swap set-label-font ;\r
 \r
-: heading-font @{ "Serif" plain 24 }@ swap set-label-font ;\r
+: heading-font { "Serif" plain 24 } swap set-label-font ;\r
 \r
 : <slide-title> ( text -- gadget )\r
     <label> dup heading-font ;\r
 \r
 : <underline> ( -- gadget )\r
     <gadget>\r
-    << gradient f @{ @{ 0.25 0.25 0.25 1.0 }@ @{ 1.0 1.0 1.0 1.0 }@ }@ >>\r
+    T{ gradient f { { 0.25 0.25 0.25 1.0 } { 1.0 1.0 1.0 1.0 } } }\r
     over set-gadget-interior\r
-    @{ 0 10 0 }@ over set-gadget-dim\r
-    @{ 1 0 0 }@ over set-gadget-orientation ;\r
+    { 0 10 0 } over set-gadget-dim\r
+    { 1 0 0 } over set-gadget-orientation ;\r
 \r
 GENERIC: tutorial-line ( object -- gadget )\r
 \r
 M: string tutorial-line\r
-    @{\r
-        @{ [ "* " ?head ] [ <slide-title> ] }@\r
-        @{ [ dup "--" = ] [ drop <underline> ] }@\r
-        @{ [ t ] [ <label> dup tutorial-font ] }@\r
-    }@ cond ;\r
+    {\r
+        { [ "* " ?head ] [ <slide-title> ] }\r
+        { [ dup "--" = ] [ drop <underline> ] }\r
+        { [ t ] [ <label> dup tutorial-font ] }\r
+    } cond ;\r
 \r
 : example-theme\r
-    << solid f @{ 0.8 0.8 1.0 1.0 }@ >> swap set-gadget-interior ;\r
+    T{ solid f { 0.8 0.8 1.0 1.0 } } swap set-gadget-interior ;\r
 \r
 M: general-list tutorial-line\r
     car <input-button> dup example-theme ;\r
 \r
 : page-theme\r
-    << gradient f @{ @{ 0.8 0.8 1.0 1.0 }@ @{ 1.0 0.8 1.0 1.0 }@ }@ >>\r
+    T{ gradient f { { 0.8 0.8 1.0 1.0 } { 1.0 0.8 1.0 1.0 } } }\r
     swap set-gadget-interior ;\r
 \r
 : <page> ( list -- gadget )\r
@@ -42,8 +42,8 @@ M: general-list tutorial-line
     dup page-theme <border> ;\r
 \r
 : tutorial-pages\r
-    @{\r
-        @{\r
+    {\r
+        {\r
             "* Factor: a dynamic language"\r
             "--"\r
             "This series of slides presents a quick overview of Factor."\r
@@ -59,7 +59,7 @@ M: general-list tutorial-line
             "You can then press ENTER to execute the code, or edit it first."\r
             ""\r
             "http://factor.sourceforge.net"\r
-        }@ @{\r
+        } {\r
             "* The view from 10,000 feet"\r
             "--"\r
             "- Everything is an object"\r
@@ -68,7 +68,7 @@ M: general-list tutorial-line
             "- Words pass parameters on the stack"\r
             "- Code blocks can be passed as parameters to words"\r
             "- Word definitions are very short with very high code reuse"\r
-        }@ @{\r
+        } {\r
             "* Basic syntax"\r
             "--"\r
             "Factor code is made up of whitespace-speparated tokens."\r
@@ -79,7 +79,7 @@ M: general-list tutorial-line
             "The first token (\"hello world\") is a string."\r
             "The second token (print) is a word."\r
             "The string is pushed on the stack, and the print word prints it."\r
-        }@ @{\r
+        } {\r
             "* The stack"\r
             "--"\r
             "- The stack is like a pile of papers."\r
@@ -91,7 +91,7 @@ M: general-list tutorial-line
             [ "2 3 + ." ]\r
             ""\r
             "Try running it in the listener now."\r
-        }@ @{\r
+        } {\r
             "* Postfix arithmetic"\r
             "--"\r
             "What happened when you ran it?"\r
@@ -103,7 +103,7 @@ M: general-list tutorial-line
             "This is called postfix arithmetic."\r
             "Traditional arithmetic is called infix: 3 + (6 * 2)"\r
             "Lets translate this into postfix: 3 6 2 * + ."\r
-        }@ @{\r
+        } {\r
             "* Colon definitions"\r
             "--"\r
             "We can define new words in terms of existing words."\r
@@ -118,7 +118,7 @@ M: general-list tutorial-line
             "The result is the same as if you wrote:"\r
             ""\r
             [ "3 2 * 2 * ." ]\r
-        }@ @{\r
+        } {\r
             "* Stack effects"\r
             "--"\r
             "When we look at the definition of the ``twice'' word,"\r
@@ -133,7 +133,7 @@ M: general-list tutorial-line
             "The stack effect of twice is ( x -- 2*x )."\r
             "The stack effect of + is ( x y -- x+y )."\r
             "The stack effect of . is ( object -- )."\r
-        }@ @{\r
+        } {\r
             "* Reading user input"\r
             "--"\r
             "User input is read using the readln ( -- string ) word."\r
@@ -143,7 +143,7 @@ M: general-list tutorial-line
             ""\r
             [ "\"What is your name?\" print" ]\r
             [ "readln \"Hello, \" write print" ]\r
-        }@ @{\r
+        } {\r
             "* Shuffle words"\r
             "--"\r
             "The word ``twice'' we defined is useless."\r
@@ -156,7 +156,7 @@ M: general-list tutorial-line
             "However, we can use the word ``dup''. It has stack effect"\r
             "( object -- object object ), and it does exactly what we"\r
             "need. The ``dup'' word is known as a shuffle word."\r
-        }@ @{\r
+        } {\r
             "* The squared word"\r
             "--"\r
             "Try entering the following word definition:"\r
@@ -171,7 +171,7 @@ M: general-list tutorial-line
             "drop ( object -- )"\r
             "swap ( obj1 obj2 -- obj2 obj1 )"\r
             "over ( obj1 obj2 -- obj1 obj2 obj1 )"\r
-        }@ @{\r
+        } {\r
             "* Another shuffle example"\r
             "--"\r
             "Now let us write a word that negates a number."\r
@@ -186,7 +186,7 @@ M: general-list tutorial-line
             "So indeed, we can factor out the definition ``0 swap -'':"\r
             ""\r
             [ ": negate ( n -- -n ) 0 swap - ;" ]\r
-        }@ @{\r
+        } {\r
             "* Seeing words"\r
             "--"\r
             "If you have entered every definition in this tutorial,"\r
@@ -203,7 +203,7 @@ M: general-list tutorial-line
             ""\r
             "Prefixing a word with \\ pushes it on the stack, instead of"\r
             "executing it. So the see word has stack effect ( word -- )."\r
-        }@ @{\r
+        } {\r
             "* Branches"\r
             "--"\r
             "Now suppose we want to write a word that computes the"\r
@@ -219,7 +219,7 @@ M: general-list tutorial-line
             "In Factor, any object can be used as a truth value."\r
             "- The f object is false."\r
             "- Anything else is true."\r
-        }@ @{\r
+        } {\r
             "* More branches"\r
             "--"\r
             "On the previous slide, you saw the 'when' conditional:"\r
@@ -233,7 +233,7 @@ M: general-list tutorial-line
             "The 'if' conditional takes action on both branches:"\r
             ""\r
             [ "  ... condition ... [ ... ] [ ... ] if" ]\r
-        }@ @{\r
+        } {\r
             "* Combinators"\r
             "--"\r
             "if, when, unless are words that take lists of code as input."\r
@@ -247,7 +247,7 @@ M: general-list tutorial-line
             "Try this:"\r
             ""\r
             [ "10 [ \"Hello combinators\" print ] times" ]\r
-        }@ @{\r
+        } {\r
             "* Sequences"\r
             "--"\r
             "You have already seen strings, very briefly:"\r
@@ -258,12 +258,12 @@ M: general-list tutorial-line
             "Two other types of sequences you will use a lot are:"\r
             ""\r
             "  Lists: [ 1 3 \"hi\" 10 2 ]"\r
-            "  Vectors: { \"the\" { \"quick\" \"brown\" } \"fox\" }"\r
+            "  Arrays: { \"the\" { \"quick\" \"brown\" } \"fox\" }"\r
             ""\r
-            "As you can see in the second example, lists and vectors"\r
+            "As you can see in the second example, lists and arrays"\r
             "can contain any type of object, including other lists"\r
-            "and vectors."\r
-        }@ @{\r
+            "and arrays."\r
+        } {\r
             "* Sequences and combinators"\r
             "--"\r
             "A very useful combinator is each ( seq quot -- )."\r
@@ -282,7 +282,7 @@ M: general-list tutorial-line
             ""\r
             [ "{ 10 20 30 } [ 3 + ] map ." ]\r
             "==> { 13 23 33 }"\r
-        }@ @{\r
+        } {\r
             "* Numbers - integers and ratios"\r
             "--"\r
             "Factor's supports arbitrary-precision integers and ratios."\r
@@ -296,7 +296,7 @@ M: general-list tutorial-line
             ""\r
             "Rational numbers are added, multiplied and reduced to"\r
             "lowest terms in the same way you learned in grade school."\r
-        }@ @{\r
+        } {\r
             "* Object oriented programming"\r
             "--"\r
             "Each object belongs to a class."\r
@@ -311,7 +311,7 @@ M: general-list tutorial-line
             "Method definitions may appear in independent source files."\r
             ""\r
             "integer, string, object are built-in classes."\r
-        }@ @{\r
+        } {\r
             "* Defining new classes"\r
             "--"\r
             "New classes can be defined:"\r
@@ -326,7 +326,7 @@ M: general-list tutorial-line
             ""\r
             "Tuples support custom constructors, delegation..."\r
             "see the developer's handbook for details."\r
-        }@ @{\r
+        } {\r
             "* The library"\r
             "--"\r
             "Offers a good selection of highly-reusable words:"\r
@@ -341,7 +341,7 @@ M: general-list tutorial-line
             [ "\"sequences\" words ." ]\r
             "- To show a word definition:"\r
             [ "\\ reverse see" ]\r
-        }@ @{\r
+        } {\r
             "* Learning more"\r
             "--"\r
             "Hopefully this tutorial has sparked your interest in Factor."\r
@@ -352,8 +352,8 @@ M: general-list tutorial-line
             ""\r
             "Also, point your IRC client to irc.freenode.net and hop in the"\r
             "#concatenative channel to chat with other Factor geeks."\r
-        }@\r
-    }@ ;\r
+        }\r
+    } ;\r
 \r
 : <tutorial> ( pages -- browser )\r
     tutorial-pages [ <page> ] map <book> <book-browser> ;\r
index 8244fcee6096d24d39f27f98b7359a35b2f64124..7a894c8688eaa780666fdb8db6c0d2e1b5b34d0a 100644 (file)
@@ -33,7 +33,7 @@ namespaces parser prettyprint sequences strings vectors words ;
     0 [ [ max ] when* ] reduce ;
 
 : unbalanced-branches ( in out -- )
-    @{ "Unbalanced branches:" }@ -rot [
+    { "Unbalanced branches:" } -rot [
         swap number>string " " rot length number>string
         append3
     ] 2map append "\n" join inference-error ;
index acb7404e672b836d010a938feb5cb90f19246788..e7c5ef934c5ce736e467134bc8dbaa8e1cfb0d31 100644 (file)
@@ -13,7 +13,7 @@ math math-internals sequences words ;
     dup optimizer-hooks cond ;
 
 : define-optimizers ( word optimizers -- )
-    @{ [ t ] [ drop t ] }@ add "optimizer-hooks" set-word-prop ;
+    { [ t ] [ drop t ] } add "optimizer-hooks" set-word-prop ;
 
 : partial-eval? ( #call -- ? )
     dup node-param "foldable" word-prop [
@@ -49,18 +49,18 @@ math math-internals sequences words ;
     dup flip-subst node-successor dup
     dup node-children first2 swap 2array swap set-node-children ;
 
-\ not @{
-    @{ [ dup node-successor #if? ] [ flip-branches ] }@
-}@ define-optimizers
+\ not {
+    { [ dup node-successor #if? ] [ flip-branches ] }
+} define-optimizers
 
 : disjoint-eq? ( node -- ? )
     dup node-classes swap node-in-d
     [ swap ?hash ] map-with
     first2 2dup and [ classes-intersect? not ] [ 2drop f ] if ;
 
-\ eq? @{
-    @{ [ dup disjoint-eq? ] [ [ f ] inline-literals ] }@
-}@ define-optimizers
+\ eq? {
+    { [ dup disjoint-eq? ] [ [ f ] inline-literals ] }
+} define-optimizers
 
 ! Arithmetic identities
 SYMBOL: @
@@ -90,97 +90,97 @@ SYMBOL: @
         3drop f
     ] if ;
 
-[ + fixnum+ bignum+ float+ ] @{
-    @{ @{ @ 0 }@ [ drop ] }@
-    @{ @{ 0 @ }@ [ nip ]  }@
-}@ define-identities
-
-[ - fixnum- bignum- float- ] @{
-    @{ @{ @ 0 }@ [ drop ]    }@
-    @{ @{ @ @ }@ [ 2drop 0 ] }@
-}@ define-identities
-
-[ * fixnum* bignum* float* ] @{
-    @{ @{ @ 1 }@  [ drop ]          }@
-    @{ @{ 1 @ }@  [ nip ]           }@
-    @{ @{ @ 0 }@  [ nip ]           }@
-    @{ @{ 0 @ }@  [ drop ]          }@
-    @{ @{ @ -1 }@ [ drop 0 swap - ] }@
-    @{ @{ -1 @ }@ [ nip 0 swap - ]  }@
-}@ define-identities
-
-[ / /i /f fixnum/i fixnum/f bignum/i bignum/f float/f ] @{
-    @{ @{ @ 1 }@  [ drop ]          }@
-    @{ @{ @ -1 }@ [ drop 0 swap - ] }@
-}@ define-identities
-
-[ rem mod fixnum-mod bignum-mod ] @{
-    @{ @{ @ 1 }@  [ 2drop 0 ] }@
-}@ define-identities
-
-! [ ^ ] @{
-!     @{ @{ 1 @ }@  [ 2drop 1 ]             }@
-!     @{ @{ @ 1 }@  [ drop ]                }@
-!     @{ @{ @ 2 }@  [ drop dup * ]          }@
-!     @{ @{ @ -1 }@ [ drop 1 swap / ]       }@
-!     @{ @{ @ -2 }@ [ drop dup * 1 swap / ] }@
-! }@ define-identities
-
-[ bitand fixnum-bitand bignum-bitand ] @{
-    @{ @{ @ -1 }@ [ drop ] }@
-    @{ @{ -1 @ }@ [ nip  ] }@
-    @{ @{ @ @ }@  [ drop ] }@
-    @{ @{ @ 0 }@  [ nip  ] }@
-    @{ @{ 0 @ }@  [ drop ] }@
-}@ define-identities
-
-[ bitor fixnum-bitor bignum-bitor ] @{
-    @{ @{ @ 0 }@  [ drop ] }@
-    @{ @{ 0 @ }@  [ nip  ] }@
-    @{ @{ @ @ }@  [ drop ] }@
-    @{ @{ @ -1 }@ [ nip  ] }@
-    @{ @{ -1 @ }@ [ drop ] }@
-}@ define-identities
-
-[ bitxor fixnum-bitxor bignum-bitxor ] @{
-    @{ @{ @ 0 }@  [ drop ]        }@
-    @{ @{ 0 @ }@  [ nip  ]        }@
-    @{ @{ @ -1 }@ [ drop bitnot ] }@
-    @{ @{ -1 @ }@ [ nip  bitnot ] }@
-    @{ @{ @ @ }@  [ 2drop 0 ]     }@
-}@ define-identities
-
-[ shift fixnum-shift bignum-shift ] @{
-    @{ @{ 0 @ }@ [ drop ] }@
-    @{ @{ @ 0 }@ [ drop ] }@
-}@ define-identities
-
-[ < fixnum< bignum< float< ] @{
-    @{ @{ @ @ }@ [ 2drop f ] }@
-}@ define-identities
-
-[ <= fixnum<= bignum<= float<= ] @{
-    @{ @{ @ @ }@ [ 2drop t ] }@
-}@ define-identities
+[ + fixnum+ bignum+ float+ ] {
+    { { @ 0 } [ drop ] }
+    { { 0 @ } [ nip ]  }
+} define-identities
+
+[ - fixnum- bignum- float- ] {
+    { { @ 0 } [ drop ]    }
+    { { @ @ } [ 2drop 0 ] }
+} define-identities
+
+[ * fixnum* bignum* float* ] {
+    { { @ 1 }  [ drop ]          }
+    { { 1 @ }  [ nip ]           }
+    { { @ 0 }  [ nip ]           }
+    { { 0 @ }  [ drop ]          }
+    { { @ -1 } [ drop 0 swap - ] }
+    { { -1 @ } [ nip 0 swap - ]  }
+} define-identities
+
+[ / /i /f fixnum/i fixnum/f bignum/i bignum/f float/f ] {
+    { { @ 1 }  [ drop ]          }
+    { { @ -1 } [ drop 0 swap - ] }
+} define-identities
+
+[ rem mod fixnum-mod bignum-mod ] {
+    { { @ 1 }  [ 2drop 0 ] }
+} define-identities
+
+! [ ^ ] {
+!     { { 1 @ }  [ 2drop 1 ]             }
+!     { { @ 1 }  [ drop ]                }
+!     { { @ 2 }  [ drop dup * ]          }
+!     { { @ -1 } [ drop 1 swap / ]       }
+!     { { @ -2 } [ drop dup * 1 swap / ] }
+! } define-identities
+
+[ bitand fixnum-bitand bignum-bitand ] {
+    { { @ -1 } [ drop ] }
+    { { -1 @ } [ nip  ] }
+    { { @ @ }  [ drop ] }
+    { { @ 0 }  [ nip  ] }
+    { { 0 @ }  [ drop ] }
+} define-identities
+
+[ bitor fixnum-bitor bignum-bitor ] {
+    { { @ 0 }  [ drop ] }
+    { { 0 @ }  [ nip  ] }
+    { { @ @ }  [ drop ] }
+    { { @ -1 } [ nip  ] }
+    { { -1 @ } [ drop ] }
+} define-identities
+
+[ bitxor fixnum-bitxor bignum-bitxor ] {
+    { { @ 0 }  [ drop ]        }
+    { { 0 @ }  [ nip  ]        }
+    { { @ -1 } [ drop bitnot ] }
+    { { -1 @ } [ nip  bitnot ] }
+    { { @ @ }  [ 2drop 0 ]     }
+} define-identities
+
+[ shift fixnum-shift bignum-shift ] {
+    { { 0 @ } [ drop ] }
+    { { @ 0 } [ drop ] }
+} define-identities
+
+[ < fixnum< bignum< float< ] {
+    { { @ @ } [ 2drop f ] }
+} define-identities
+
+[ <= fixnum<= bignum<= float<= ] {
+    { { @ @ } [ 2drop t ] }
+} define-identities
     
-[ > fixnum> bignum> float>= ] @{
-    @{ @{ @ @ }@ [ 2drop f ] }@
-}@ define-identities
+[ > fixnum> bignum> float>= ] {
+    { { @ @ } [ 2drop f ] }
+} define-identities
 
-[ >= fixnum>= bignum>= float>= ] @{
-    @{ @{ @ @ }@ [ 2drop t ] }@
-}@ define-identities
+[ >= fixnum>= bignum>= float>= ] {
+    { { @ @ } [ 2drop t ] }
+} define-identities
 
-[ eq? number= = ] @{
-    @{ @{ @ @ }@ [ 2drop t ] }@
-}@ define-identities
+[ eq? number= = ] {
+    { { @ @ } [ 2drop t ] }
+} define-identities
 
 M: #call optimize-node* ( node -- node/t )
-    @{
-        @{ [ dup partial-eval? ] [ partial-eval ] }@
-        @{ [ dup find-identity nip ] [ apply-identities ] }@
-        @{ [ dup optimizer-hooks ] [ optimize-hooks ] }@
-        @{ [ dup inlining-class ] [ inline-method ] }@
-        @{ [ dup optimize-predicate? ] [ optimize-predicate ] }@
-        @{ [ t ] [ drop t ] }@
-    }@ cond ;
+    {
+        { [ dup partial-eval? ] [ partial-eval ] }
+        { [ dup find-identity nip ] [ apply-identities ] }
+        { [ dup optimizer-hooks ] [ optimize-hooks ] }
+        { [ dup inlining-class ] [ inline-method ] }
+        { [ dup optimize-predicate? ] [ optimize-predicate ] }
+        { [ t ] [ drop t ] }
+    } cond ;
index 460b21e3a747db08ebb4ac31bd3f8a632da15407..b976e145dc5faa766d6da8ee5613ae4a44f54edd 100644 (file)
@@ -152,8 +152,8 @@ DEFER: (infer-classes)
 
 : infer-classes ( node -- )
     [
-        {{ }} clone value-classes set
-        {{ }} clone value-literals set
-        {{ }} clone ties set
+        H{ } clone value-classes set
+        H{ } clone value-literals set
+        H{ } clone ties set
         (infer-classes)
     ] with-scope ;
index 8d4619b28a50adc68288f35666aecd88b06e553c..87a13b48228ec6a599ca0683b4361c07d221fad5 100644 (file)
@@ -48,10 +48,10 @@ M: node = eq? ;
 : set-node-out-d node-shuffle set-shuffle-out-d ;
 : set-node-out-r node-shuffle set-shuffle-out-r ;
 
-: empty-node f @{ }@ @{ }@ @{ }@ @{ }@ ;
-: param-node ( label) @{ }@ @{ }@ @{ }@ @{ }@ ;
-: in-node ( inputs) >r f r> @{ }@ @{ }@ @{ }@ ;
-: out-node ( outputs) >r f @{ }@ r> @{ }@ @{ }@ ;
+: empty-node f { } { } { } { } ;
+: param-node ( label) { } { } { } { } ;
+: in-node ( inputs) >r f r> { } { } { } ;
+: out-node ( outputs) >r f { } r> { } { } ;
 
 : d-tail ( n -- list ) meta-d get tail* ;
 : r-tail ( n -- list ) meta-r get tail* ;
@@ -146,7 +146,7 @@ SYMBOL: current-node
     [
         dup node-in-d % dup node-out-d %
         dup node-in-r % node-out-r %
-    ] @{ }@ make ;
+    ] { } make ;
 
 : uses-value? ( value node -- ? ) node-values memq? ;
 
index d77962f2a369102ca0d17a13eeb059b4f5f1086e..9833494612305f86ccd8984bf4b989303e64a165 100644 (file)
@@ -25,12 +25,12 @@ M: inference-error error. ( error -- )
     inference-error-rstate describe ;
 
 M: value literal-value ( value -- )
-    @{
+    {
         "A literal value was expected where a computed value was found.\n"
         "This means the word you are inferring applies 'call' or 'execute'\n"
         "to a value that is not known at compile time.\n"
         "See the handbook for details."
-    }@ concat inference-error ;
+    } concat inference-error ;
 
 ! Word properties that affect inference:
 ! - infer-effect -- must be set. controls number of inputs
@@ -57,7 +57,7 @@ SYMBOL: d-in
     dup meta-d get required-inputs d-in [ + ] change
     meta-d [ add-inputs ] change ;
 
-: effect ( -- @{ in# out# }@ )
+: effect ( -- { in# out# } )
     #! After inference is finished, collect information.
     d-in get meta-d get length 2array ;
 
@@ -65,8 +65,8 @@ SYMBOL: terminated?
 
 : init-inference ( recursive-state -- )
     terminated? off
-    { } clone meta-r set
-    { } clone meta-d set
+    V{ } clone meta-r set
+    V{ } clone meta-d set
     0 d-in set
     recursive-state set
     dataflow-graph off
index bc8c22f6c3a229f1977f32f007fa36746430a525..b1570878273be756e08281ca93682ba07f5b0784 100644 (file)
@@ -8,7 +8,7 @@ namespaces sequences words ;
 
 GENERIC: dispatching-values ( node word -- seq )
 
-M: object dispatching-values 2drop @{ }@ ;
+M: object dispatching-values 2drop { } ;
 
 M: simple-generic dispatching-values drop node-in-d peek 1array ;
 
index 1c8d30c8156a632a2f65fa57641b9f2366c951e1..6ab2ef9b77c5137c5c032e0fa95d793363b272f9 100644 (file)
@@ -25,7 +25,7 @@ GENERIC: returns* ( node -- )
 : returns ( node -- seq )
     #! Trace all control flow paths, build a hash of
     #! final #return nodes.
-    [ returns* ] @{ }@ make ;
+    [ returns* ] { } make ;
 
 M: f returns* drop ;
 
@@ -44,7 +44,7 @@ M: f returns* drop ;
     [ [ remove-values ] each-node-with ] [ 2drop ] if ;
 
 ! Generic nodes
-M: node literals* ( node -- ) drop @{ }@ ;
+M: node literals* ( node -- ) drop { } ;
 
 M: node live-values* ( node -- ) node-values ;
 
@@ -60,12 +60,12 @@ M: #return returns* , ;
 
 M: #return live-values* ( node -- seq )
     #! Values returned by local labels can be killed.
-    dup node-param [ drop @{ }@ ] [ delegate live-values* ] if ;
+    dup node-param [ drop { } ] [ delegate live-values* ] if ;
 
 ! nodes that don't use their input values directly
 UNION: #killable #shuffle #call-label #merge #values ;
 
-M: #killable live-values* ( node -- seq ) drop @{ }@ ;
+M: #killable live-values* ( node -- seq ) drop { } ;
 
 ! #entry
 M: #entry live-values* ( node -- seq )
index 75407c586b8619443ceb8882205992fd0a9f9f74..b4dcaa58d215df677f8d7dafa780a1267a24cd99 100644 (file)
@@ -35,7 +35,7 @@ prettyprint ;
     dup "infer-effect" word-prop consume/produce
     [ [ t ] [ f ] if ] infer-quot ;
 
-@{ fixnum<= fixnum< fixnum>= fixnum> eq? }@ [
+{ fixnum<= fixnum< fixnum>= fixnum> eq? } [
     dup dup literalize [ manual-branch ] cons
     "infer" set-word-prop
 ] each
index 20a86376f2399e1d2fa89d2b6424268c27965709..eab4f893da52248da6d8b2c5fd03c55a3b6036ea 100644 (file)
@@ -14,7 +14,7 @@ M: #call-label collect-recursion* ( label node -- )
     #! Collect the input stacks of all #call-label nodes that
     #! call given label.
     dup node-param swap
-    [ [ collect-recursion* ] each-node-with ] @{ }@ make ;
+    [ [ collect-recursion* ] each-node-with ] { } make ;
 
 GENERIC: solve-recursion*
 
index 60018cf39d587f09804a8a3418f8444375ed2c58..4a4fd51f27111b6e4e6170af37a2af23a325bacc 100644 (file)
@@ -3,7 +3,7 @@ USING: hashtables kernel math namespaces sequences ;
 
 TUPLE: shuffle in-d in-r out-d out-r ;
 
-: empty-shuffle @{ }@ @{ }@ @{ }@ @{ }@ <shuffle> ;
+: empty-shuffle { } { } { } { } <shuffle> ;
 
 : cut* ( seq1 seq2 -- seq seq ) [ head* ] 2keep tail* ;
 
index 28257f7da8d7b0bf88453c86b482ed258a1c57c2..a958eb49677ac75772cecaf6f8c34370405db65a 100644 (file)
@@ -29,23 +29,23 @@ sequences words ;
     [ shuffle>effect "infer-effect" set-word-prop ] 2keep
     [ , \ infer-shuffle , ] [ ] make "infer" set-word-prop ;
 
-@{
-    @{ drop  << shuffle f 1 0 @{             }@ @{   }@ >> }@
-    @{ 2drop << shuffle f 2 0 @{             }@ @{   }@ >> }@
-    @{ 3drop << shuffle f 3 0 @{             }@ @{   }@ >> }@
-    @{ dup   << shuffle f 1 0 @{ 0 0         }@ @{   }@ >> }@
-    @{ 2dup  << shuffle f 2 0 @{ 0 1 0 1     }@ @{   }@ >> }@
-    @{ 3dup  << shuffle f 3 0 @{ 0 1 2 0 1 2 }@ @{   }@ >> }@
-    @{ rot   << shuffle f 3 0 @{ 1 2 0       }@ @{   }@ >> }@
-    @{ -rot  << shuffle f 3 0 @{ 2 0 1       }@ @{   }@ >> }@
-    @{ dupd  << shuffle f 2 0 @{ 0 0 1       }@ @{   }@ >> }@
-    @{ swapd << shuffle f 3 0 @{ 1 0 2       }@ @{   }@ >> }@
-    @{ nip   << shuffle f 2 0 @{ 1           }@ @{   }@ >> }@
-    @{ 2nip  << shuffle f 3 0 @{ 2           }@ @{   }@ >> }@
-    @{ tuck  << shuffle f 2 0 @{ 1 0 1       }@ @{   }@ >> }@
-    @{ over  << shuffle f 2 0 @{ 0 1 0       }@ @{   }@ >> }@
-    @{ pick  << shuffle f 3 0 @{ 0 1 2 0     }@ @{   }@ >> }@
-    @{ swap  << shuffle f 2 0 @{ 1 0         }@ @{   }@ >> }@
-    @{ >r    << shuffle f 1 0 @{             }@ @{ 0 }@ >> }@
-    @{ r>    << shuffle f 0 1 @{ 0           }@ @{   }@ >> }@
-}@ [ first2 define-shuffle ] each
+{
+    { drop  T{ shuffle f 1 0 {             } {   } } }
+    { 2drop T{ shuffle f 2 0 {             } {   } } }
+    { 3drop T{ shuffle f 3 0 {             } {   } } }
+    { dup   T{ shuffle f 1 0 { 0 0         } {   } } }
+    { 2dup  T{ shuffle f 2 0 { 0 1 0 1     } {   } } }
+    { 3dup  T{ shuffle f 3 0 { 0 1 2 0 1 2 } {   } } }
+    { rot   T{ shuffle f 3 0 { 1 2 0       } {   } } }
+    { -rot  T{ shuffle f 3 0 { 2 0 1       } {   } } }
+    { dupd  T{ shuffle f 2 0 { 0 0 1       } {   } } }
+    { swapd T{ shuffle f 3 0 { 1 0 2       } {   } } }
+    { nip   T{ shuffle f 2 0 { 1           } {   } } }
+    { 2nip  T{ shuffle f 3 0 { 2           } {   } } }
+    { tuck  T{ shuffle f 2 0 { 1 0 1       } {   } } }
+    { over  T{ shuffle f 2 0 { 0 1 0       } {   } } }
+    { pick  T{ shuffle f 3 0 { 0 1 2 0     } {   } } }
+    { swap  T{ shuffle f 2 0 { 1 0         } {   } } }
+    { >r    T{ shuffle f 1 0 {             } { 0 } } }
+    { r>    T{ shuffle f 0 1 { 0           } {   } } }
+} [ first2 define-shuffle ] each
index fcddd3ea44fc0054453196a1103ae0adfe938885..048549ec315d8ecce02a3c39e1cde3f527f4c8f6 100644 (file)
@@ -105,11 +105,11 @@ M: symbol apply-object ( word -- )
     [ inferring-base-case off ] cleanup ;
 
 : no-base-case ( word -- )
-    @{
+    {
         "The base case of a recursive word could not be inferred.\n"
         "This means the word calls itself in every control flow path.\n"
         "See the handbook for details."
-    }@ concat inference-error ;
+    } concat inference-error ;
 
 : notify-base-case ( -- )
     base-case-continuation get
index ddba815a2d400a62e15926e7bb78fef73a8c2632..75dd343369edc58bb5cf4e4b7375659b1333a587 100644 (file)
@@ -14,7 +14,7 @@ styles ;
 
 : directory ( dir -- list )
     (directory)
-    {{ [[ "." "." ]] [[ ".." ".." ]] }}
+    H{ [[ "." "." ]] [[ ".." ".." ]] }
     swap remove-all string-sort ;
 
 : file-length ( file -- length ) stat third ;
index 279f72e37e1e93f89ab02d54fe2a79a7d07d5242..43d535774747ad71d55c8a75b3e11117da1d0831 100644 (file)
@@ -46,4 +46,4 @@ M: line-reader stream-read ( count line -- string )
 
 : lines ( stream -- seq )
     #! Read all lines from the stream into a sequence.
-    [ { } clone (lines) ] with-stream ;
+    [ V{ } clone (lines) ] with-stream ;
index cc87fc1efb6c6708862bbfc7eec94436e6b29863..f3544541f3ba320f7d9fda6d59e5ca88ef61834c 100644 (file)
@@ -9,7 +9,7 @@ USING: generic kernel-internals math-internals vectors ;
     #! Clear the datastack. For interactive use only; invoking
     #! this from a word definition will clobber any values left
     #! on the data stack by the caller.
-    { } set-datastack ;
+    V{ } set-datastack ;
 
 GENERIC: hashcode ( obj -- n ) flushable
 M: object hashcode drop 0 ;
index da511f9ca254bd476dd9184aaccb23d7f25ebf22..9e49dc26840b2ce91384a78afab29fba86322260 100644 (file)
@@ -2,8 +2,8 @@
 ! See http://factor.sf.net/license.txt for BSD license.
 IN: math
 
-: i #{ 0 1 }# ; inline
-: -i #{ 0 -1 }# ; inline
+: i C{ 0 1 } ; inline
+: -i C{ 0 -1 } ; inline
 : inf 1.0 0.0 / ; inline
 : -inf -1.0 0.0 / ; inline
 : e 2.7182818284590452354 ; inline
index 39b057c5dc8d4597483d003098491437be2729c0..d9193d1f646a15b5f30f18cae88da678c7f90bb6 100644 (file)
@@ -33,11 +33,11 @@ M: object digit> not-a-number ;
     "/" split1 [ 10 base> ] 2apply / ;
 
 : string>number ( string -- n )
-    @{
-        @{ [ CHAR: / over member? ] [ string>ratio ] }@
-        @{ [ CHAR: . over member? ] [ string>float ] }@
-        @{ [ t ] [ 10 base> ] }@
-    }@ cond ;
+    {
+        { [ CHAR: / over member? ] [ string>ratio ] }
+        { [ CHAR: . over member? ] [ string>float ] }
+        { [ t ] [ 10 base> ] }
+    } cond ;
 
 : bin> 2 base> ;
 : oct> 8 base> ;
index c35a36cd38e1edb69d7e19bd0aa1b68ed288217a..9b55437cfd8341e98cf370821b42757fdc95674e 100644 (file)
@@ -1,16 +1,16 @@
 USING: alien io kernel parser sequences ;
 
-@{
-    @{ [ os "macosx" = ] [ ] }@
-    @{ [ os "win32" = ] [
+{
+    { [ os "macosx" = ] [ ] }
+    { [ os "win32" = ] [
             "gl" "opengl32.dll" "stdcall" add-library
             "glu" "glu32.dll" "stdcall" add-library
-    ] }@
-    @{ [ t ] [
+    ] }
+    { [ t ] [
             "gl" "libGL.so" "cdecl" add-library
             "glu" "libGLU.so" "cdecl" add-library
-    ] }@
-}@ cond
+    ] }
+} cond
 
 [
     "/library/opengl/gl.factor"
index 0f721d16ef2aa20f7a651aaff25ac9be42fb6081..977189a3d3006bd0ab7afa10ed25583405db39b5 100644 (file)
@@ -3,11 +3,11 @@
 IN: opengl
 USING: alien errors kernel math namespaces opengl sdl sequences ;
 
-: gl-color ( @{ r g b a }@ -- ) first4 glColor4d ; inline
+: gl-color ( { r g b a } -- ) first4 glColor4d ; inline
 
 : init-gl ( -- )
     0.0 0.0 0.0 0.0 glClearColor 
-    @{ 1.0 0.0 0.0 0.0 }@ gl-color
+    { 1.0 0.0 0.0 0.0 } gl-color
     GL_COLOR_BUFFER_BIT glClear
     GL_PROJECTION glMatrixMode
     glLoadIdentity
@@ -51,11 +51,11 @@ USING: alien errors kernel math namespaces opengl sdl sequences ;
 
 : gl-vertex first3 glVertex3d ; inline
 
-: top-left drop 0 0 glTexCoord2d @{ 0 0 0 }@ gl-vertex ; inline
+: top-left drop 0 0 glTexCoord2d { 0 0 0 } gl-vertex ; inline
 
-: top-right 1 0 glTexCoord2d @{ 1 0 0 }@ v* gl-vertex ; inline
+: top-right 1 0 glTexCoord2d { 1 0 0 } v* gl-vertex ; inline
 
-: bottom-left 0 1 glTexCoord2d @{ 0 1 0 }@ v* gl-vertex ; inline
+: bottom-left 0 1 glTexCoord2d { 0 1 0 } v* gl-vertex ; inline
 
 : bottom-right 1 1 glTexCoord2d gl-vertex ; inline
 
@@ -72,7 +72,7 @@ USING: alien errors kernel math namespaces opengl sdl sequences ;
 : gl-rect ( dim -- )
     #! Draws a two-dimensional box.
     GL_MODELVIEW [
-        0.5 0.5 0 glTranslatef @{ 1 1 0 }@ v-
+        0.5 0.5 0 glTranslatef { 1 1 0 } v-
         GL_LINE_STRIP [ dup four-sides top-left ] do-state
     ] do-matrix ;
 
@@ -149,7 +149,7 @@ C: sprite ( loc dim dim2 -- )
     GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_CLAMP glTexParameterf
     GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_CLAMP glTexParameterf ;
 
-: gl-translate ( @{ x y z }@ -- ) first3 glTranslatef ;
+: gl-translate ( { x y z } -- ) first3 glTranslatef ;
 
 : make-sprite-dlist ( sprite -- id )
     GL_MODELVIEW [
@@ -158,7 +158,7 @@ C: sprite ( loc dim dim2 -- )
             GL_TEXTURE_2D over sprite-texture glBindTexture
             init-texture
             dup sprite-dim2 gl-fill-rect
-            dup sprite-dim @{ 1 0 0 }@ v*
+            dup sprite-dim { 1 0 0 } v*
             swap sprite-loc v- gl-translate
         ] make-dlist
     ] do-matrix ;
index 2353c048ffb72ca225ce950b0449a9e60c02f07f..63ef9803d3b5d8b26448cf9941a0ef7d2558933c 100644 (file)
@@ -1,10 +1,10 @@
 USING: alien io kernel parser sequences ;
 
-@{
-    @{ [ os "macosx" = ] [ ] }@
-    @{ [ os "win32" = ] [ "sdl" "sdl.dll" "cdecl" add-library ] }@
-    @{ [ t ] [ "sdl" "libSDL.so" "cdecl" add-library ] }@
-}@ cond
+{
+    { [ os "macosx" = ] [ ] }
+    { [ os "win32" = ] [ "sdl" "sdl.dll" "cdecl" add-library ] }
+    { [ t ] [ "sdl" "libSDL.so" "cdecl" add-library ] }
+} cond
 
 [
     "/library/sdl/sdl.factor"
index e3efe0d1c0e933bf62f0eded08940b419067649d..c3654e4f60b0fe089d8f35670cd3f18ab35ebd2e 100644 (file)
@@ -6,15 +6,15 @@ IN: sdl USING: namespaces ;
 ! Later, something better needs to be done.
 
 : modifiers
-    @{
+    {
         [[ "SHIFT" HEX: 0003 ]]
         [[ "CTRL"  HEX: 00c0 ]]
         [[ "ALT"   HEX: 0300 ]]
         [[ "META"  HEX: 0c00 ]]
-    }@ ;
+    } ;
 
 : keysyms
-    {{
+    H{
         ! The keyboard syms have been cleverly chosen to map to ASCII
         [[ 0  "UNKNOWN"    ]]
         [[ 8  "BACKSPACE"  ]]
@@ -257,4 +257,4 @@ IN: sdl USING: namespaces ;
         [[ 321 "EURO" ]]           ! Some european keyboards
         [[ 322 "UNDO" ]]           ! Atari keyboard has Undo
         ! Add any other keys here
-    }} ;
+    } ;
index 7d4b5a0f3a99a66f5a574fee93d2cd275063de5e..0d8c48d67e582ab19416041a6a4851e9f3b8766a 100644 (file)
@@ -3,14 +3,14 @@
 IN: styles
 
 ! Colors are RGBA quadruples
-: black      @{ 0.0 0.0 0.0 1.0 }@ ;
-: dark-gray  @{ 0.25 0.25 0.25 1.0 }@ ;
-: gray       @{ 0.5 0.5 0.5 1.0 }@ ;
-: light-gray @{ 0.75 0.75 0.75 1.0 }@ ;
-: white      @{ 1.0 1.0 1.0 1.0 }@ ;
-: red        @{ 1.0 0.0 0.0 1.0 }@ ;
-: green      @{ 0.0 1.0 0.0 1.0 }@ ;
-: blue       @{ 0.0 0.0 1.0 1.0 }@ ;
+: black      { 0.0 0.0 0.0 1.0 } ;
+: dark-gray  { 0.25 0.25 0.25 1.0 } ;
+: gray       { 0.5 0.5 0.5 1.0 } ;
+: light-gray { 0.75 0.75 0.75 1.0 } ;
+: white      { 1.0 1.0 1.0 1.0 } ;
+: red        { 1.0 0.0 0.0 1.0 } ;
+: green      { 0.0 1.0 0.0 1.0 } ;
+: blue       { 0.0 0.0 1.0 1.0 } ;
 
 SYMBOL: foreground ! Used for text and outline shapes.
 SYMBOL: background ! Used for filled shapes.
index 293f13526bcb0111164a863c9ebbf4bee1164eeb..b35053e70dddc55484f7e5ebbbeaedbd02918ac2 100644 (file)
@@ -48,7 +48,3 @@ syntax words ;
     #! stack.
     scan-word [ tuple-constructor ] keep
     [ define-constructor ] [ ] ; parsing
-
-! Tuples.
-: << f ; parsing
-: >> reverse array>tuple swons ; parsing
index 29ef2b568f2c28bddf0a57cb08e6eaae8e7c9eaf..4358b094e15a006018c64f5b8b5043af85bd39ea 100644 (file)
@@ -50,17 +50,15 @@ SYMBOL: t
 : [[ f ; parsing
 : ]] first2 swons swons ; parsing
 
-! Arrays
-: @{ f ; parsing
-: }@ reverse >array swons ; parsing
+! Arrays, vectors, etc
+: } reverse swap call swons ; parsing
 
-! Vectors
-: { f ; parsing
-: } reverse >vector swons ; parsing
-
-! Hashtables
-: {{ f ; parsing
-: }} alist>hash swons ; parsing
+: { ( array ) [ >array ] [ ] ; parsing
+: V{ ( vector ) [ >vector ] [ ] ; parsing
+: H{ ( hashtable ) [ alist>hash ] [ ] ; parsing
+: C{ ( complex ) [ first2 rect> ] [ ] ; parsing
+: T{ ( tuple ) [ array>tuple ] [ ] ; parsing
+: W{ ( wrapper ) [ first <wrapper> ] [ ] ; parsing
 
 ! Do not execute parsing word
 : POSTPONE: ( -- ) scan-word swons ; parsing
@@ -84,11 +82,6 @@ SYMBOL: t
     #! Word literals: \ foo
     scan-word literalize swons ; parsing
 
-! Long wrapper syntax. Only used in the rare case that another
-! wrapper is being wrapped.
-: W[ [ ] ; parsing
-: ]W first <wrapper> swons ; parsing
-
 ! Vocabularies
 : PRIMITIVE:
     #! This is just for show. All flash no substance.
@@ -140,10 +133,6 @@ SYMBOL: t
     #! Documentation comment.
     until-eol parsed-documentation ; parsing
 
-! Complex numbers
-: #{ f ; parsing
-: }# dup second swap first rect> swons ; parsing
-
 ! Reading integers in other bases
 : (BASE) ( base -- )
     #! Reads an integer in a specific base.
index fb8405cb62ad60c7268f4683d577d354af30545f..05a38de1e1f6ce6f508b9fbd5e96ce09aef8bb1c 100644 (file)
@@ -73,7 +73,7 @@ TUPLE: block sections ;
 
 C: block ( -- block )
     0 <section> over set-delegate
-    { } clone over set-block-sections
+    V{ } clone over set-block-sections
     t over set-section-nl-after?
     tab-size get over set-section-indent ;
 
@@ -174,15 +174,15 @@ C: pprinter ( -- stream )
 GENERIC: pprint* ( obj -- )
 
 : vocab-style ( vocab -- style )
-    {{
-        [[ "syntax" [ [[ foreground @{ 0.5 0.5 0.5 1.0 }@ ]] ] ]]
-        [[ "kernel" [ [[ foreground @{ 0.0 0.0 0.5 1.0 }@ ]] ] ]]
-        [[ "sequences" [ [[ foreground @{ 0.5 0.0 0.0 1.0 }@ ]] ] ]]
-        [[ "math" [ [[ foreground @{ 0.0 0.5 0.0 1.0 }@ ]] ] ]]
-        [[ "math-internals" [ [[ foreground @{ 0.75 0.0 0.0 1.0 }@ ]] ] ]]
-        [[ "kernel-internals" [ [[ foreground @{ 0.75 0.0 0.0 1.0 }@ ]] ] ]]
-        [[ "io-internals" [ [[ foreground @{ 0.75 0.0 0.0 1.0 }@ ]] ] ]]
-    }} hash ;
+    H{
+        [[ "syntax" [ [[ foreground { 0.5 0.5 0.5 1.0 } ]] ] ]]
+        [[ "kernel" [ [[ foreground { 0.0 0.0 0.5 1.0 } ]] ] ]]
+        [[ "sequences" [ [[ foreground { 0.5 0.0 0.0 1.0 } ]] ] ]]
+        [[ "math" [ [[ foreground { 0.0 0.5 0.0 1.0 } ]] ] ]]
+        [[ "math-internals" [ [[ foreground { 0.75 0.0 0.0 1.0 } ]] ] ]]
+        [[ "kernel-internals" [ [[ foreground { 0.75 0.0 0.0 1.0 } ]] ] ]]
+        [[ "io-internals" [ [[ foreground { 0.75 0.0 0.0 1.0 } ]] ] ]]
+    } hash ;
 
 : word-style ( word -- style )
     dup word-vocabulary vocab-style swap presented swons add ;
@@ -198,7 +198,7 @@ M: object pprint* ( obj -- )
 M: real pprint* ( obj -- ) number>string f text ;
 
 : ch>ascii-escape ( ch -- esc )
-    {{
+    H{
         [[ CHAR: \e "\\e"  ]]
         [[ CHAR: \n "\\n"  ]]
         [[ CHAR: \r "\\r"  ]]
@@ -206,7 +206,7 @@ M: real pprint* ( obj -- ) number>string f text ;
         [[ CHAR: \0 "\\0"  ]]
         [[ CHAR: \\ "\\\\" ]]
         [[ CHAR: \" "\\\"" ]]
-    }} hash ;
+    } hash ;
 
 : ch>unicode-escape ( ch -- esc )
     >hex 4 CHAR: 0 pad-left "\\u" swap append ;
@@ -277,7 +277,7 @@ M: dll pprint* ( obj -- str ) dll-path "DLL\" " pprint-string ;
     swap pprint* swap pprint-elements pprint* ;
 
 M: complex pprint* ( num -- )
-    >rect 2array \ #{ \ }# pprint-sequence ;
+    >rect 2array \ C{ \ } pprint-sequence ;
 
 M: cons pprint* ( list -- )
    [
@@ -286,20 +286,20 @@ M: cons pprint* ( list -- )
    ] check-recursion ;
 
 M: array pprint* ( vector -- )
-    [ \ @{ \ }@ pprint-sequence ] check-recursion ;
+    [ \ { \ } pprint-sequence ] check-recursion ;
 
 M: vector pprint* ( vector -- )
-    [ \ { \ } pprint-sequence ] check-recursion ;
+    [ \ V{ \ } pprint-sequence ] check-recursion ;
 
 M: hashtable pprint* ( hashtable -- )
-    [ hash>alist \ {{ \ }} pprint-sequence ] check-recursion ;
+    [ hash>alist \ H{ \ } pprint-sequence ] check-recursion ;
 
 M: tuple pprint* ( tuple -- )
     [
-        \ << pprint*
+        \ T{ pprint*
         tuple>array dup first pprint*
         <block 1 swap tail-slice pprint-elements block>
-        \ >> pprint*
+        \ } pprint*
     ] check-recursion ;
 
 M: alien pprint* ( alien -- )
@@ -313,7 +313,7 @@ M: wrapper pprint* ( wrapper -- )
     dup wrapped word? [
         \ \ pprint-word wrapped pprint-word
     ] [
-        wrapped 1array \ W[ \ ]W pprint-sequence
+        wrapped 1array \ W{ \ } pprint-sequence
     ] if ;
 
 : with-pprint ( quot -- )
@@ -348,19 +348,17 @@ M: wrapper pprint* ( wrapper -- )
 
 : define-open
     #! The word will be pretty-printed as a block opener.
-    #! Examples are [ { {{ [[ << and so on.
     t "pprint-open" set-word-prop ;
 
 : define-close ( word -- )
     #! The word will be pretty-printed as a block closer.
-    #! Examples are ] } }} ]] >> and so on.
     t "pprint-close" set-word-prop ;
 
-@{
-    @{ POSTPONE: [ POSTPONE: ] }@
-    @{ POSTPONE: { POSTPONE: } }@
-    @{ POSTPONE: @{ POSTPONE: }@ }@
-    @{ POSTPONE: {{ POSTPONE: }} }@
-    @{ POSTPONE: [[ POSTPONE: ]] }@
-    @{ POSTPONE: [[ POSTPONE: ]] }@
-}@ [ first2 define-close define-open ] each
+{ 
+    POSTPONE: [ POSTPONE: [[
+    POSTPONE: { POSTPONE: V{ POSTPONE: H{
+    POSTPONE: T{ POSTPONE: W{
+} [ define-open ] each
+
+{ POSTPONE: [ POSTPONE: } POSTPONE: ]] }
+[ define-close ] each
index d937394ef6b10be1ddfc514fde2c08ad4311b6d2..0528391b57b481664e83ef6da1e38c62b8eadfa5 100644 (file)
@@ -39,7 +39,7 @@ TUPLE: box i ;
         swap box-i swap box-i + <box>
     ] if ; compiled
 
-[ << box f 9227465 >> ] [ << box f 34 >> tuple-fib ] unit-test
+[ T{ box f 9227465 } ] [ T{ box f 34 } tuple-fib ] unit-test
 
 SYMBOL: n
 : namespace-fib ( n -- n )
index 43f94e2bc71d8c8bfc589392e48a07af557cc865..499d6710b0c56998b64138452e3d94442ee2a641 100644 (file)
@@ -1,17 +1,17 @@
 IN: temporary
 USING: arrays kernel sequences sequences-internals test vectors ;
 
-[ -2 @{ "a" "b" "c" }@ nth ] unit-test-fails
-[ 10 @{ "a" "b" "c" }@ nth ] unit-test-fails
-[ "hi" -2 @{ "a" "b" "c" }@ set-nth ] unit-test-fails
-[ "hi" 10 @{ "a" "b" "c" }@ set-nth ] unit-test-fails
-[ f ] [ @{ "a" "b" "c" }@ dup clone eq? ] unit-test
-[ "hi" ] [ "hi" 1 @{ "a" "b" "c" }@ clone [ set-nth ] keep second ] unit-test
-[ { "a" "b" "c" } ] [ @{ "a" "b" "c" }@ >vector ] unit-test
-[ f ] [ @{ "a" "b" "c" }@ dup >array eq? ] unit-test
-[ t ] [ @{ "a" "b" "c" }@ dup @{ }@ like eq? ] unit-test
-[ t ] [ @{ "a" "b" "c" }@ dup array>vector underlying eq? ] unit-test
-[ { "a" "b" "c" } ] [ @{ "a" "b" "c" }@ array>vector ] unit-test
-[ @{ "a" "b" "c" }@ ] [ @{ "a" }@ @{ "b" "c" }@ append ] unit-test
-[ @{ "a" "b" "c" "d" "e" }@ ]
-[ @{ "a" }@ @{ "b" "c" }@ @{ "d" "e" }@ append3 ] unit-test
+[ -2 { "a" "b" "c" } nth ] unit-test-fails
+[ 10 { "a" "b" "c" } nth ] unit-test-fails
+[ "hi" -2 { "a" "b" "c" } set-nth ] unit-test-fails
+[ "hi" 10 { "a" "b" "c" } set-nth ] unit-test-fails
+[ f ] [ { "a" "b" "c" } dup clone eq? ] unit-test
+[ "hi" ] [ "hi" 1 { "a" "b" "c" } clone [ set-nth ] keep second ] unit-test
+[ V{ "a" "b" "c" } ] [ { "a" "b" "c" } >vector ] unit-test
+[ f ] [ { "a" "b" "c" } dup >array eq? ] unit-test
+[ t ] [ { "a" "b" "c" } dup { } like eq? ] unit-test
+[ t ] [ { "a" "b" "c" } dup array>vector underlying eq? ] unit-test
+[ V{ "a" "b" "c" } ] [ { "a" "b" "c" } array>vector ] unit-test
+[ { "a" "b" "c" } ] [ { "a" } { "b" "c" } append ] unit-test
+[ { "a" "b" "c" "d" "e" } ]
+[ { "a" } { "b" "c" } { "d" "e" } append3 ] unit-test
index 55e334cd3dbc3ff88298c79ec76c403aab398141..cc52f08daed4756c34eeb378d6afbb10c6f2da6c 100644 (file)
@@ -41,11 +41,11 @@ unit-test
 
 16 <hashtable> "testhash" set
 
-t #{ 2 3 }# "testhash" get set-hash
+t C{ 2 3 } "testhash" get set-hash
 f 100000000000000000000000000 "testhash" get set-hash
 { } { [ { } ] } "testhash" get set-hash
 
-[ t ] [ #{ 2 3 }# "testhash" get hash ] unit-test
+[ t ] [ C{ 2 3 } "testhash" get hash ] unit-test
 [ f ] [ 100000000000000000000000000 "testhash" get hash* cdr ] unit-test
 [ { } ] [ { [ { } ] } clone "testhash" get hash* cdr ] unit-test
 
@@ -63,13 +63,13 @@ f 100000000000000000000000000 "testhash" get set-hash
 
 [ 4 ] [
     "hey"
-    {{ [[ "hey" 4 ]] [[ "whey" 5 ]] }} 2dup (hashcode)
+    H{ [[ "hey" 4 ]] [[ "whey" 5 ]] } 2dup (hashcode)
     swap underlying nth assoc
 ] unit-test
 
 ! Testing the hash element counting
 
-{{ }} clone "counting" set
+H{ } clone "counting" set
 "value" "key" "counting" get set-hash
 [ 1 ] [ "counting" get hash-size ] unit-test
 "value" "key" "counting" get set-hash
@@ -79,21 +79,21 @@ f 100000000000000000000000000 "testhash" get set-hash
 "key" "counting" get remove-hash
 [ 0 ] [ "counting" get hash-size ] unit-test
 
-[ t ] [ {{ }} dup hash-contained? ] unit-test
-[ f ] [ {{ [[ 1 3 ]] }} {{ }} hash-contained? ] unit-test
-[ t ] [ {{ }} {{ [[ 1 3 ]] }} hash-contained? ] unit-test
-[ t ] [ {{ [[ 1 3 ]] }} {{ [[ 1 3 ]] }} hash-contained? ] unit-test
-[ f ] [ {{ [[ 1 3 ]] }} {{ [[ 1 "hey" ]] }} hash-contained? ] unit-test
-[ f ] [ {{ [[ 1 f ]] }} {{ }} hash-contained? ] unit-test
-[ t ] [ {{ [[ 1 f ]] }} {{ [[ 1 f ]] }} hash-contained? ] unit-test
-
-[ t ] [ {{ }} dup = ] unit-test
-[ f ] [ "xyz" {{ }} = ] unit-test
-[ t ] [ {{ }} {{ }} = ] unit-test
-[ f ] [ {{ [[ 1 3 ]] }} {{ }} = ] unit-test
-[ f ] [ {{ }} {{ [[ 1 3 ]] }} = ] unit-test
-[ t ] [ {{ [[ 1 3 ]] }} {{ [[ 1 3 ]] }} = ] unit-test
-[ f ] [ {{ [[ 1 3 ]] }} {{ [[ 1 "hey" ]] }} = ] unit-test
+[ t ] [ H{ } dup hash-contained? ] unit-test
+[ f ] [ H{ [[ 1 3 ]] } H{ } hash-contained? ] unit-test
+[ t ] [ H{ } H{ [[ 1 3 ]] } hash-contained? ] unit-test
+[ t ] [ H{ [[ 1 3 ]] } H{ [[ 1 3 ]] } hash-contained? ] unit-test
+[ f ] [ H{ [[ 1 3 ]] } H{ [[ 1 "hey" ]] } hash-contained? ] unit-test
+[ f ] [ H{ [[ 1 f ]] } H{ } hash-contained? ] unit-test
+[ t ] [ H{ [[ 1 f ]] } H{ [[ 1 f ]] } hash-contained? ] unit-test
+
+[ t ] [ H{ } dup = ] unit-test
+[ f ] [ "xyz" H{ } = ] unit-test
+[ t ] [ H{ } H{ } = ] unit-test
+[ f ] [ H{ [[ 1 3 ]] } H{ } = ] unit-test
+[ f ] [ H{ } H{ [[ 1 3 ]] } = ] unit-test
+[ t ] [ H{ [[ 1 3 ]] } H{ [[ 1 3 ]] } = ] unit-test
+[ f ] [ H{ [[ 1 3 ]] } H{ [[ 1 "hey" ]] } = ] unit-test
 
 ! Test rehashing
 
@@ -117,10 +117,10 @@ f 100000000000000000000000000 "testhash" get set-hash
 [
     3
 ] [
-    2 {{
+    2 H{
             [[ 1 2 ]] 
             [[ 2 3 ]]
-    }} clone hash
+    } clone hash
 ] unit-test
 
 ! There was an assoc in place of assoc* somewhere
@@ -131,16 +131,16 @@ f 100000000000000000000000000 "testhash" get set-hash
 [ 1 ] [ "f-hash-test" get hash-size ] unit-test
 
 [ 21 ] [
-    0 {{
+    0 H{
         [[ 1 2 ]]
         [[ 3 4 ]]
         [[ 5 6 ]]
-    }} [
+    } [
         uncons + +
     ] hash-each
 ] unit-test
 
-{{ }} clone "cache-test" set
+H{ } clone "cache-test" set
 
 [ 4 ] [ 1 "cache-test" get [ 3 + ] cache ] unit-test
 [ 5 ] [ 2 "cache-test" get [ 3 + ] cache ] unit-test
@@ -148,42 +148,42 @@ f 100000000000000000000000000 "testhash" get set-hash
 [ 5 ] [ 2 "cache-test" get [ 3 + ] cache ] unit-test
 
 [
-    {{ [[ "factor" "rocks" ]] [[ 3 4 ]] }}
+    H{ [[ "factor" "rocks" ]] [[ 3 4 ]] }
 ] [
-    {{ [[ "factor" "rocks" ]] [[ "dup" "sq" ]] [[ 3 4 ]] }}
-    {{ [[ "factor" "rocks" ]] [[ 1 2 ]] [[ 2 3 ]] [[ 3 4 ]] }}
+    H{ [[ "factor" "rocks" ]] [[ "dup" "sq" ]] [[ 3 4 ]] }
+    H{ [[ "factor" "rocks" ]] [[ 1 2 ]] [[ 2 3 ]] [[ 3 4 ]] }
     hash-intersect
 ] unit-test
 
 [
-    {{ [[ 1 2 ]] [[ 2 3 ]] }}
+    H{ [[ 1 2 ]] [[ 2 3 ]] }
 ] [
-    {{ [[ "factor" "rocks" ]] [[ "dup" "sq" ]] [[ 3 4 ]] }}
-    {{ [[ "factor" "rocks" ]] [[ 1 2 ]] [[ 2 3 ]] [[ 3 4 ]] }}
+    H{ [[ "factor" "rocks" ]] [[ "dup" "sq" ]] [[ 3 4 ]] }
+    H{ [[ "factor" "rocks" ]] [[ 1 2 ]] [[ 2 3 ]] [[ 3 4 ]] }
     hash-diff
 ] unit-test
 
 [
     2
 ] [
-    {{ [[ "factor" "rocks" ]] [[ "dup" "sq" ]] [[ 3 4 ]] }}
-    {{ [[ "factor" "rocks" ]] [[ 1 2 ]] [[ 2 3 ]] [[ 3 4 ]] }}
+    H{ [[ "factor" "rocks" ]] [[ "dup" "sq" ]] [[ 3 4 ]] }
+    H{ [[ "factor" "rocks" ]] [[ 1 2 ]] [[ 2 3 ]] [[ 3 4 ]] }
     hash-diff hash-size
 ] unit-test
 
 [
     t
 ] [
-    {{ [[ "hello" "world" ]] }}
+    H{ [[ "hello" "world" ]] }
     clone
     100 [ 1+ over set-bucket-count hashcode ] map-with all-equal?
 ] unit-test
 
 [
-    {{ [[ 1 2 ]] [[ 2 3 ]] [[ 6 5 ]] }}
+    H{ [[ 1 2 ]] [[ 2 3 ]] [[ 6 5 ]] }
 ] [
-    {{ [[ 2 4 ]] [[ 6 5 ]] }} {{ [[ 1 2 ]] [[ 2 3 ]] }}
+    H{ [[ 2 4 ]] [[ 6 5 ]] } H{ [[ 1 2 ]] [[ 2 3 ]] }
     hash-union
 ] unit-test
 
-[ [ 1 3 ] ] [ {{ [[ 2 2 ]] }} [ 1 2 3 ] remove-all ] unit-test
+[ [ 1 3 ] ] [ H{ [[ 2 2 ]] } [ 1 2 3 ] remove-all ] unit-test
index 0592835233d625bc1d3c9c696d96932dd2c9b590..14c3067d15684491d8a142266640eaee147adc77 100644 (file)
@@ -4,10 +4,10 @@ USE: namespaces
 USE: test
 USE: words
 
-{{ }} clone "test-namespace" set
+H{ } clone "test-namespace" set
 
 : test-namespace ( -- )
-    {{ }} clone dup [ namespace = ] bind ;
+    H{ } clone dup [ namespace = ] bind ;
 
 [ t ] [ test-namespace ] unit-test
 
@@ -21,5 +21,5 @@ USE: words
 
 10 "some-global" set
 [ f ]
-[ {{ }} clone [ f "some-global" set "some-global" get ] bind ]
+[ H{ } clone [ f "some-global" set "some-global" get ] bind ]
 unit-test
index 22c412941a71c99823adc7821849964b7c159279..082381afbd05bc6591fcb385eac5a1e2d778cdcf 100644 (file)
@@ -7,6 +7,6 @@ USING: kernel math namespaces queues sequences test ;
 
 [ ] [ [ 1 2 3 4 5 ] [ "queue" get enque ] each ] unit-test
 
-[ @{ 1 2 3 4 5 }@ ] [ 5 [ drop "queue" get deque ] map ] unit-test
+[ { 1 2 3 4 5 } ] [ 5 [ drop "queue" get deque ] map ] unit-test
 
 [ "queue" get deque ] unit-test-fails
index c8a7bd05169675aa2af37841fb3bcc9b4c1e797b..ef0f270bf1ccd5d18cffeedf0351f0b843de6ecf 100644 (file)
@@ -1,14 +1,14 @@
 IN: temporary
-USING: kernel lists math namespaces sequences
+USING: arrays kernel lists math namespaces sequences
 sequences-internals strings test vectors ;
 
-[ { 1 2 3 4 } ] [ 1 5 <range> >vector ] unit-test
+[ V{ 1 2 3 4 } ] [ 1 5 <range> >vector ] unit-test
 [ 3 ] [ 1 4 <range> length ] unit-test
 [ 2 ] [ 1 3 { 1 2 3 4 } <slice> length ] unit-test
-[ { 2 3 } ] [ 1 3 { 1 2 3 4 } <slice> >vector ] unit-test
-[ { 4 5 } ] [ 2 { 1 2 3 4 5 } tail-slice* >vector ] unit-test
-[ { 3 4 } ] [ 2 4 1 10 <range> subseq >vector ] unit-test
-[ { 3 4 } ] [ 0 2 2 4 1 10 <range> <slice> subseq >vector ] unit-test
+[ V{ 2 3 } ] [ 1 3 { 1 2 3 4 } <slice> >vector ] unit-test
+[ V{ 4 5 } ] [ 2 { 1 2 3 4 5 } tail-slice* >vector ] unit-test
+[ V{ 3 4 } ] [ 2 4 1 10 <range> subseq >vector ] unit-test
+[ V{ 3 4 } ] [ 0 2 2 4 1 10 <range> <slice> subseq >vector ] unit-test
 [ "cba" ] [ 3 "abcdef" head-slice reverse ] unit-test
 
 [ 5040 ] [ [ 1 2 3 4 5 6 7 ] 1 [ * ] reduce ] unit-test
@@ -59,10 +59,10 @@ unit-test
 
 [ { } ] [ { } flip ] unit-test
 
-[ @{ "b" "e" }@ ] [ 1 @{ @{ "a" "b" "c" }@ @{ "d" "e" "f" }@ }@ flip nth ] unit-test
+[ { "b" "e" } ] [ 1 { { "a" "b" "c" } { "d" "e" "f" } } flip nth ] unit-test
 
-[ @{ @{ 1 4 }@ @{ 2 5 }@ @{ 3 6 }@ }@ ]
-[ @{ @{ 1 2 3 }@ @{ 4 5 6 }@ }@ flip ] unit-test
+[ { { 1 4 } { 2 5 } { 3 6 } } ]
+[ { { 1 2 3 } { 4 5 6 } } flip ] unit-test
 
 [ f ] [ [ { } { } "Hello" ] all-equal? ] unit-test
 [ f ] [ [ { 2 } { } { } ] all-equal? ] unit-test
@@ -126,12 +126,12 @@ unit-test
 
 [ { 1 2 3 4 5 6 7 8 9 } ] [
     [ - ] { 9 8 7 6 5 4 3 2 1 } clone seq-sorter sort-step
-    sorter-seq >vector nip
+    sorter-seq >array nip
 ] unit-test
 
 [ { 1 2 3 4 5 6 7 8 9 } ] [
     [ - ] { 1 2 3 4 5 6 7 8 9 } clone seq-sorter sort-step
-    sorter-seq >vector nip
+    sorter-seq >array nip
 ] unit-test
 
 [ [ ] ] [ [ ] number-sort ] unit-test
@@ -143,15 +143,15 @@ unit-test
     ] all?
 ] unit-test
 
-[ @{ "" "a" "aa" "aaa" }@ ]
+[ { "" "a" "aa" "aaa" } ]
 [ 4 [ CHAR: a fill ] map ]
 unit-test
 
-[ { } ] [ "f" { } clone [ delete ] keep ] unit-test
-[ { } ] [ "f" { "f" } clone [ delete ] keep ] unit-test
-[ { } ] [ "f" { "f" "f" } clone [ delete ] keep ] unit-test
-[ { "x" } ] [ "f" { "f" "x" "f" } clone [ delete ] keep ] unit-test
-[ { "y" "x" } ] [ "f" { "y" "f" "x" "f" } clone [ delete ] keep ] unit-test
+[ V{ } ] [ "f" V{ } clone [ delete ] keep ] unit-test
+[ V{ } ] [ "f" V{ "f" } clone [ delete ] keep ] unit-test
+[ V{ } ] [ "f" V{ "f" "f" } clone [ delete ] keep ] unit-test
+[ V{ "x" } ] [ "f" V{ "f" "x" "f" } clone [ delete ] keep ] unit-test
+[ V{ "y" "x" } ] [ "f" V{ "y" "f" "x" "f" } clone [ delete ] keep ] unit-test
 
 [ { 1 4 9 } ] [ { 1 2 3 } clone dup [ sq ] inject ] unit-test
 
@@ -166,7 +166,7 @@ unit-test
 [ ] [ { 1 2 } [ 2drop 1 ] sort drop ] unit-test
 
 [ 5 ] [ 1 >bignum { 1 5 7 } nth-unsafe ] unit-test
-[ 5 ] [ 1 >bignum @{ 1 5 7 }@ nth-unsafe ] unit-test
+[ 5 ] [ 1 >bignum { 1 5 7 } nth-unsafe ] unit-test
 [ 5 ] [ 1 >bignum "\u0001\u0005\u0007" nth-unsafe ] unit-test
 
 [ "before&after" ] [ "&" 6 11 "before and after" replace-slice ] unit-test
@@ -183,19 +183,19 @@ unit-test
 
 [ -1 ] [ { "a" "b" "c" } { "a" "b" "c" } mismatch ] unit-test
 
-[ { } { } ] [ { "a" "b" } { "a" "b" } drop-prefix [ >vector ] 2apply ] unit-test
+[ V{ } V{ } ] [ { "a" "b" } { "a" "b" } drop-prefix [ >vector ] 2apply ] unit-test
 
-[ { "C" } { "c" } ] [ { "a" "b" "C" } { "a" "b" "c" } drop-prefix [ >vector ] 2apply ] unit-test
+[ V{ "C" } V{ "c" } ] [ { "a" "b" "C" } { "a" "b" "c" } drop-prefix [ >vector ] 2apply ] unit-test
 
 [ -1 1 "abc" <slice> ] unit-test-fails
 
-[ { "a" "b" } { } ] [ { "X" "a" "b" } { "X" } drop-prefix [ >vector ] 2apply ] unit-test
+[ V{ "a" "b" } V{ } ] [ { "X" "a" "b" } { "X" } drop-prefix [ >vector ] 2apply ] unit-test
 
 [ -1 ] [ "ab" "abc" lexi ] unit-test
 [ 1 ] [ "abc" "ab" lexi ] unit-test
 
-[ 1 4 9 16 16 { f 1 4 9 16 } ] [
-    { } clone "cache-test" set
+[ 1 4 9 16 16 V{ f 1 4 9 16 } ] [
+    V{ } clone "cache-test" set
     1 "cache-test" get [ sq ] cache-nth
     2 "cache-test" get [ sq ] cache-nth
     3 "cache-test" get [ sq ] cache-nth
index 0ab5188fbdf354ba46dcf822d2669674320dc793..15236162649ca506611734a6f33fe0f69f333f63 100644 (file)
@@ -73,7 +73,7 @@ unit-test
 
 [ f ] [ [ 0 10 "hello" subseq ] catch not ] unit-test
 
-[ @{ "hell" "o wo" "rld" }@ ] [ 4 "hello world" group ] unit-test
+[ { "hell" "o wo" "rld" } ] [ 4 "hello world" group ] unit-test
 
 [ 4 ] [
     0 "There are Four Upper Case characters"
index 14476ce76d73966b395495231882c48d1bb4128a..83e141f707421984a050fb774560edd207a04a27 100644 (file)
@@ -5,34 +5,34 @@ random sequences sequences-internals strings test vectors ;
 [ ] [ 10 [ [ -1000000 <vector> ] catch drop ] times ] unit-test
 
 [ 3 ] [ [ t f t ] length ] unit-test
-[ 3 ] [ { t f t } length ] unit-test
+[ 3 ] [ V{ t f t } length ] unit-test
 
-[ -3 { } nth ] unit-test-fails
-[ 3 { } nth ] unit-test-fails
-[ 3 #{ 1 2 }# nth ] unit-test-fails
+[ -3 V{ } nth ] unit-test-fails
+[ 3 V{ } nth ] unit-test-fails
+[ 3 C{ 1 2 } nth ] unit-test-fails
 
 [ "hey" [ 1 2 ] set-length ] unit-test-fails
-[ "hey" { 1 2 } set-length ] unit-test-fails
+[ "hey" V{ 1 2 } set-length ] unit-test-fails
 
 [ 3 ] [ 3 0 <vector> [ set-length ] keep length ] unit-test
 [ "yo" ] [
     "yo" 4 1 <vector> [ set-nth ] keep 4 swap nth
 ] unit-test
 
-[ 1 { } nth ] unit-test-fails
-[ -1 { } set-length ] unit-test-fails
-[ { } ] [ [ ] >vector ] unit-test
-[ { 1 2 } ] [ [ 1 2 ] >vector ] unit-test
+[ 1 V{ } nth ] unit-test-fails
+[ -1 V{ } set-length ] unit-test-fails
+[ V{ } ] [ [ ] >vector ] unit-test
+[ V{ 1 2 } ] [ [ 1 2 ] >vector ] unit-test
 
 [ t ] [
     100 [ drop 100 random-int ] map >vector
     dup >list >vector =
 ] unit-test
 
-[ f ] [ { } { 1 2 3 } = ] unit-test
-[ f ] [ { 1 2 } { 1 2 3 } = ] unit-test
-[ f ] [ [ 1 2 ] { 1 2 3 } = ] unit-test
-[ f ] [ { 1 2 } [ 1 2 3 ] = ] unit-test
+[ f ] [ V{ } V{ 1 2 3 } = ] unit-test
+[ f ] [ V{ 1 2 } V{ 1 2 3 } = ] unit-test
+[ f ] [ [ 1 2 ] V{ 1 2 3 } = ] unit-test
+[ f ] [ V{ 1 2 } [ 1 2 3 ] = ] unit-test
 
 [ [ 1 4 9 16 ] ]
 [
@@ -40,43 +40,43 @@ random sequences sequences-internals strings test vectors ;
     >vector [ dup * ] map >list
 ] unit-test
 
-[ t ] [ { } hashcode { } hashcode = ] unit-test
-[ t ] [ { 1 2 3 } hashcode { 1 2 3 } hashcode = ] unit-test
-[ t ] [ { 1 { 2 } 3 } hashcode { 1 { 2 } 3 } hashcode = ] unit-test
-[ t ] [ { } hashcode { } hashcode = ] unit-test
+[ t ] [ V{ } hashcode V{ } hashcode = ] unit-test
+[ t ] [ V{ 1 2 3 } hashcode V{ 1 2 3 } hashcode = ] unit-test
+[ t ] [ V{ 1 V{ 2 } 3 } hashcode V{ 1 V{ 2 } 3 } hashcode = ] unit-test
+[ t ] [ V{ } hashcode V{ } hashcode = ] unit-test
 
-[ { 1 2 3 } { 1 2 3 4 5 6 } ]
-[ { 1 2 3 } dup { 4 5 6 } append ] unit-test
+[ V{ 1 2 3 } V{ 1 2 3 4 5 6 } ]
+[ V{ 1 2 3 } dup V{ 4 5 6 } append ] unit-test
 
 [ f ] [ f concat ] unit-test
-[ { 1 2 3 4 } ] [ [ { 1 } [ 2 ] { 3 4 } ] concat ] unit-test
+[ V{ 1 2 3 4 } ] [ [ V{ 1 } [ 2 ] V{ 3 4 } ] concat ] unit-test
 
-[ { } ] [ 0 { } tail ] unit-test
-[ { } ] [ 2 { 1 2 } tail ] unit-test
-[ { 3 4 } ] [ 2 { 1 2 3 4 } tail ] unit-test
+[ V{ } ] [ 0 V{ } tail ] unit-test
+[ V{ } ] [ 2 V{ 1 2 } tail ] unit-test
+[ V{ 3 4 } ] [ 2 V{ 1 2 3 4 } tail ] unit-test
 
-[ { 3 } ] [ 1 { 1 2 3 } tail* ] unit-test
+[ V{ 3 } ] [ 1 V{ 1 2 3 } tail* ] unit-test
 
 0 <vector> "funny-stack" set
 
-[ ] [ { 1 5 } "funny-stack" get push ] unit-test
-[ ] [ { 2 3 } "funny-stack" get push ] unit-test
-[ { 2 3 } ] [ "funny-stack" get pop ] unit-test
-[ { 1 5 } ] [ "funny-stack" get peek ] unit-test
-[ { 1 5 } ] [ "funny-stack" get pop ] unit-test
+[ ] [ V{ 1 5 } "funny-stack" get push ] unit-test
+[ ] [ V{ 2 3 } "funny-stack" get push ] unit-test
+[ V{ 2 3 } ] [ "funny-stack" get pop ] unit-test
+[ V{ 1 5 } ] [ "funny-stack" get peek ] unit-test
+[ V{ 1 5 } ] [ "funny-stack" get pop ] unit-test
 [ "funny-stack" get pop ] unit-test-fails
 [ "funny-stack" get pop ] unit-test-fails
 [ ] [ "funky" "funny-stack" get push ] unit-test
 [ "funky" ] [ "funny-stack" get pop ] unit-test
 
 [ t ] [
-    { 1 2 3 4 } dup underlying length
+    V{ 1 2 3 4 } dup underlying length
     >r clone underlying length r>
     =
 ] unit-test
 
 [ f ] [
-    { 1 2 3 4 } dup clone
+    V{ 1 2 3 4 } dup clone
     [ underlying ] 2apply eq?
 ] unit-test
 
@@ -87,8 +87,8 @@ random sequences sequences-internals strings test vectors ;
     ] with-scope
 ] unit-test
 
-[ -1 ] [ 5 { } index ] unit-test
-[ 4 ] [ 5 { 1 2 3 4 5 } index ] unit-test
+[ -1 ] [ 5 V{ } index ] unit-test
+[ 4 ] [ 5 V{ 1 2 3 4 5 } index ] unit-test
 
 [ t ] [
     100 >list dup >vector <reversed> >list >r reverse r> =
index dbae7525c465b31d62adef1a3e8f7c91eb2470b7..b4c3f7ae5cefd7f247316b88bda9a0ce8c126fb8 100644 (file)
@@ -32,26 +32,26 @@ USE: namespaces
 [ "9\n" ] [ [ 3 f [ . ] [ sq . ] ?if ] string-out ] unit-test
 
 [ "even" ] [
-    2 @{
-        @{ [ dup 2 mod 0 = ] [ drop "even" ] }@
-        @{ [ dup 2 mod 1 = ] [ drop "odd" ] }@
-    }@ cond
+    2 {
+        { [ dup 2 mod 0 = ] [ drop "even" ] }
+        { [ dup 2 mod 1 = ] [ drop "odd" ] }
+    } cond
 ] unit-test
 
 [ "odd" ] [
-    3 @{
-        @{ [ dup 2 mod 0 = ] [ drop "even" ] }@
-        @{ [ dup 2 mod 1 = ] [ drop "odd" ] }@
-    }@ cond
+    3 {
+        { [ dup 2 mod 0 = ] [ drop "even" ] }
+        { [ dup 2 mod 1 = ] [ drop "odd" ] }
+    } cond
 ] unit-test
 
 [ "neither" ] [
-    3 @{
-        @{ [ dup string? ] [ drop "string" ] }@
-        @{ [ dup float? ] [ drop "float" ] }@
-        @{ [ dup alien? ] [ drop "alien" ] }@
-        @{ [ t ] [ drop "neither" ] }@
-    }@ cond
+    3 {
+        { [ dup string? ] [ drop "string" ] }
+        { [ dup float? ] [ drop "float" ] }
+        { [ dup alien? ] [ drop "alien" ] }
+        { [ t ] [ drop "neither" ] }
+    } cond
 ] unit-test
 
 [ ] [
index 7cae2f24a4755dfd2f4c5eacbd35ecf018b94dc5..065195208b36c53d6081a678addc639c6e9c8e74 100644 (file)
@@ -38,12 +38,12 @@ USE: math-internals
 
 : dead-code-rec
     t [
-        #{ 3 2 }#
+        C{ 3 2 }
     ] [
         dead-code-rec
     ] if ; compiled
 
-[ #{ 3 2 }# ] [ dead-code-rec ] unit-test
+[ C{ 3 2 } ] [ dead-code-rec ] unit-test
 
 : one-rec [ f one-rec ] [ "hi" ] if ; compiled
 
@@ -98,30 +98,30 @@ DEFER: countdown-b
 
 [ "even" ] [
     [
-        2 @{
-            @{ [ dup 2 mod 0 = ] [ drop "even" ] }@
-            @{ [ dup 2 mod 1 = ] [ drop "odd" ] }@
-        }@ cond
+        2 {
+            { [ dup 2 mod 0 = ] [ drop "even" ] }
+            { [ dup 2 mod 1 = ] [ drop "odd" ] }
+        } cond
     ] compile-1
 ] unit-test
 
 [ "odd" ] [
     [
-        3 @{
-            { [ dup 2 mod 0 = ] [ drop "even" ] }@
-            { [ dup 2 mod 1 = ] [ drop "odd" ] }@
-        }@ cond
+        3 {
+            { [ dup 2 mod 0 = ] [ drop "even" ] }
+            { [ dup 2 mod 1 = ] [ drop "odd" ] }
+        } cond
     ] compile-1
 ] unit-test
 
 [ "neither" ] [
     [
-        3 @{
-            @{ [ dup string? ] [ drop "string" ] }@
-            @{ [ dup float? ] [ drop "float" ] }@
-            @{ [ dup alien? ] [ drop "alien" ] }@
-            @{ [ t ] [ drop "neither" ] }@
-        }@ cond
+        3 {
+            { [ dup string? ] [ drop "string" ] }
+            { [ dup float? ] [ drop "float" ] }
+            { [ dup alien? ] [ drop "alien" ] }
+            { [ t ] [ drop "neither" ] }
+        } cond
     ] compile-1
 ] unit-test
 
index c4661bfb1a5ff6c1f083826246bf90681cdb15cc..338c5faf072f6f7772e74102a785743e1dc33f7a 100644 (file)
@@ -43,7 +43,7 @@ optimizer prettyprint sequences strings test vectors words ;
 
 : foo 1 2 3 ;
 
-[ {{ }} ] [ \ foo word-def dataflow kill-set ] unit-test
+[ H{ } ] [ \ foo word-def dataflow kill-set ] unit-test
 
 [ t ] [ [ [ 1 ] [ 2 ] ] [ [ 1 ] [ 2 ] if ] kill-set= ] unit-test
 
@@ -165,7 +165,7 @@ TUPLE: pred-test ;
         "not a tuple"
     ] if ; compiled
 
-[ << pred-test >> "pred-test" ] [ << pred-test >> pred-test-3 ] unit-test
+[ T{ pred-test } "pred-test" ] [ T{ pred-test } pred-test-3 ] unit-test
 
 : pred-test-4
     dup pred-test? [
@@ -174,7 +174,7 @@ TUPLE: pred-test ;
         "not a tuple"
     ] if ; compiled
 
-[ << pred-test >> "pred-test" ] [ << pred-test >> pred-test-4 ] unit-test
+[ T{ pred-test } "pred-test" ] [ T{ pred-test } pred-test-4 ] unit-test
 
 ! : inline-test
 !     "nom" = ; compiled
index 78f8ce73b228632c37a775d03d58591d36426531..cd0d6e50f8ade8826c7733768aee251f443a3b03 100644 (file)
@@ -9,57 +9,57 @@ test ;
     "frame" get 1 2 frame-child label-text
 ] unit-test
 
-[ @{ @{ 2 2 2 }@ @{ 3 3 3 }@ @{ 4 4 4 }@ }@ ] [
-    @{
-        @{ @{ 0 0 0 }@ @{ 1 1 1 }@ @{ 2 2 2 }@ }@
-        @{ @{ 0 0 0 }@ @{ 3 3 3 }@ @{ 0 0 0 }@ }@
-        @{ @{ 0 0 0 }@ @{ 0 0 0 }@ @{ 4 4 4 }@ }@
-    }@ reduce-grid
+[ { { 2 2 2 } { 3 3 3 } { 4 4 4 } } ] [
+    {
+        { { 0 0 0 } { 1 1 1 } { 2 2 2 } }
+        { { 0 0 0 } { 3 3 3 } { 0 0 0 } }
+        { { 0 0 0 } { 0 0 0 } { 4 4 4 } }
+    } reduce-grid
 ] unit-test
 
-[ @{ 9 9 9 }@ ] [
-    @{
-        @{ @{ 0 0 0 }@ @{ 1 1 1 }@ @{ 2 2 2 }@ }@
-        @{ @{ 0 0 0 }@ @{ 3 3 3 }@ @{ 0 0 0 }@ }@
-        @{ @{ 0 0 0 }@ @{ 0 0 0 }@ @{ 4 4 4 }@ }@
-    }@ frame-pref-dim
+[ { 9 9 9 } ] [
+    {
+        { { 0 0 0 } { 1 1 1 } { 2 2 2 } }
+        { { 0 0 0 } { 3 3 3 } { 0 0 0 } }
+        { { 0 0 0 } { 0 0 0 } { 4 4 4 } }
+    } frame-pref-dim
 ] unit-test
 
 [
-    @{
-        @{ @{ 1 2 0 }@ @{ 2 2 0 }@ @{ 3 2 0 }@ }@
-        @{ @{ 1 4 0 }@ @{ 2 4 0 }@ @{ 3 4 0 }@ }@
-    }@
+    {
+        { { 1 2 0 } { 2 2 0 } { 3 2 0 } }
+        { { 1 4 0 } { 2 4 0 } { 3 4 0 } }
+    }
 ] [
-    @{ 1 2 3 }@ @{ 2 4 }@ frame-layout
+    { 1 2 3 } { 2 4 } frame-layout
 ] unit-test
 
 : sized-gadget ( dim -- gadget )
     <gadget> [ set-rect-dim ] keep ;
 
-[ @{ 90 120 0 }@ ]
+[ { 90 120 0 } ]
 [
     <frame> "frame" set
-    @{ 10 20 0 }@ sized-gadget "frame" get 1 2 frame-add
-    @{ 30 40 0 }@ sized-gadget "frame" get 2 0 frame-add
-    @{ 50 60 0 }@ sized-gadget "frame" get 0 1 frame-add
+    { 10 20 0 } sized-gadget "frame" get 1 2 frame-add
+    { 30 40 0 } sized-gadget "frame" get 2 0 frame-add
+    { 50 60 0 } sized-gadget "frame" get 0 1 frame-add
     "frame" get pref-dim
 ] unit-test
 
-[ @{ 180 210 0 }@ ]
+[ { 180 210 0 } ]
 [
     <frame> "frame" set
-    @{ 10 20 0 }@ sized-gadget "frame" get @bottom frame-add
-    @{ 30 40 0 }@ sized-gadget "frame" get @top-right frame-add
-    @{ 50 60 0 }@ sized-gadget "frame" get @left frame-add
-    @{ 100 150 0 }@ sized-gadget "frame" get @center frame-add
+    { 10 20 0 } sized-gadget "frame" get @bottom frame-add
+    { 30 40 0 } sized-gadget "frame" get @top-right frame-add
+    { 50 60 0 } sized-gadget "frame" get @left frame-add
+    { 100 150 0 } sized-gadget "frame" get @center frame-add
     "frame" get pref-dim
 ] unit-test
 
-[ @{ 30 60 0 }@ ]
+[ { 30 60 0 } ]
 [
     <frame> "frame" set
-    @{ 10 20 0 }@ sized-gadget "frame" get @top frame-add
-    @{ 30 40 0 }@ sized-gadget "frame" get @center frame-add
+    { 10 20 0 } sized-gadget "frame" get @top frame-add
+    { 30 40 0 } sized-gadget "frame" get @center frame-add
     "frame" get pref-dim
 ] unit-test
index bba6a3fab4f5d6ecfae841f61acd175eaec77e16..80e97b7e8e659f62f6cdf7043450ed500c3cc575 100644 (file)
@@ -1,47 +1,47 @@
 USING: gadgets kernel namespaces test ;
 
-[ << rect f @{ 10 10 0 }@ @{ 20 20 0 }@ >> ]
+[ T{ rect f { 10 10 0 } { 20 20 0 } } ]
 [
-    << rect f @{ 10 10 0 }@ @{ 50 50 0 }@ >>
-    << rect f @{ -10 -10 0 }@ @{ 40 40 0 }@ >>
+    T{ rect f { 10 10 0 } { 50 50 0 } }
+    T{ rect f { -10 -10 0 } { 40 40 0 } }
     rect-intersect
 ] unit-test
 
-[ << rect f @{ 200 200 0 }@ @{ 0 0 0 }@ >> ]
+[ T{ rect f { 200 200 0 } { 0 0 0 } } ]
 [
-    << rect f @{ 100 100 0 }@ @{ 50 50 0 }@ >>
-    << rect f @{ 200 200 0 }@ @{ 40 40 0 }@ >>
+    T{ rect f { 100 100 0 } { 50 50 0 } }
+    T{ rect f { 200 200 0 } { 40 40 0 } }
     rect-intersect
 ] unit-test
 
-[ << rect f @{ -10 -10 0 }@ @{ 70 70 0 }@ >> ]
+[ T{ rect f { -10 -10 0 } { 70 70 0 } } ]
 [
-    << rect f @{ 10 10 0 }@ @{ 50 50 0 }@ >>
-    << rect f @{ -10 -10 0 }@ @{ 40 40 0 }@ >>
+    T{ rect f { 10 10 0 } { 50 50 0 } }
+    T{ rect f { -10 -10 0 } { 40 40 0 } }
     rect-union
 ] unit-test
 
-[ << rect f @{ 100 100 0 }@ @{ 140 140 0 }@ >> ]
+[ T{ rect f { 100 100 0 } { 140 140 0 } } ]
 [
-    << rect f @{ 100 100 0 }@ @{ 50 50 0 }@ >>
-    << rect f @{ 200 200 0 }@ @{ 40 40 0 }@ >>
+    T{ rect f { 100 100 0 } { 50 50 0 } }
+    T{ rect f { 200 200 0 } { 40 40 0 } }
     rect-union
 ] unit-test
 
 [ f ] [
-    << rect f @{ 100 100 0 }@ @{ 50 50 0 }@ >>
-    << rect f @{ 200 200 0 }@ @{ 40 40 0 }@ >>
+    T{ rect f { 100 100 0 } { 50 50 0 } }
+    T{ rect f { 200 200 0 } { 40 40 0 } }
     intersects?
 ] unit-test
 
 [ t ] [
-    << rect f @{ 100 100 0 }@ @{ 50 50 0 }@ >>
-    << rect f @{ 120 120 0 }@ @{ 40 40 0 }@ >>
+    T{ rect f { 100 100 0 } { 50 50 0 } }
+    T{ rect f { 120 120 0 } { 40 40 0 } }
     intersects?
 ] unit-test
 
 [ f ] [
-    << rect f @{ 1000 100 0 }@ @{ 50 50 0 }@ >>
-    << rect f @{ 120 120 0 }@ @{ 40 40 0 }@ >>
+    T{ rect f { 1000 100 0 } { 50 50 0 } }
+    T{ rect f { 120 120 0 } { 40 40 0 } }
     intersects?
 ] unit-test
index 2268a25087ed52c01708ba2186ebae1986513307..81fdc08229d06d8a38c028383b7c911e6cd9ff11 100644 (file)
@@ -129,7 +129,7 @@ M: for-arguments-sake empty-method-test drop "Hi" ;
 TUPLE: another-one ;
 
 [ "Hi" ] [ <for-arguments-sake> empty-method-test empty-method-test ] unit-test
-[ << another-one f >> ] [ <another-one> empty-method-test ] unit-test
+[ T{ another-one f } ] [ <another-one> empty-method-test ] unit-test
 
 ! Test generic see and parsing
 [ "IN: temporary SYMBOL: bah\nUNION: bah fixnum alien ;\n" ]
@@ -168,7 +168,7 @@ M: object complex-combination nip ;
 TUPLE: shit ;
 
 M: shit complex-combination cons ;
-[ [[ << shit f >> 5 ]] ] [ << shit f >> 5 complex-combination ] unit-test
+[ [[ T{ shit f } 5 ]] ] [ T{ shit f } 5 complex-combination ] unit-test
 
 [ t ] [ \ complex-combination generic? >boolean ] unit-test
 
@@ -176,7 +176,7 @@ M: shit complex-combination cons ;
 ! G: small-delegation [ over ] [ type ] ;
 ! M: shit small-delegation cons ;
 ! 
-! [ [[ << shit f >> 5 ]] ] [ << delegating-small-generic << shit f >> >> 5 small-delegation ] unit-test
+! [ [[ T{ shit f } 5 ]] ] [ T{ delegating-small-generic T{ shit f } } 5 small-delegation ] unit-test
 
 GENERIC: big-generic-test
 M: fixnum big-generic-test "fixnum" ;
@@ -187,8 +187,8 @@ M: shit big-generic-test "shit" ;
 
 TUPLE: delegating ;
 
-[ << shit f >> "shit" ] [ << shit f >> big-generic-test ] unit-test
-[ << shit f >> "shit" ] [ << delegating << shit f >> >> big-generic-test ] unit-test
+[ T{ shit f } "shit" ] [ T{ shit f } big-generic-test ] unit-test
+[ T{ shit f } "shit" ] [ T{ delegating T{ shit f } } big-generic-test ] unit-test
 
 [ t ] [ \ = simple-generic? ] unit-test
 [ f ] [ \ each simple-generic? ] unit-test
index 5722b1ee8ac0a893874facff6948c526b3932655..17fcf88bd83238fbe97330ff043ace9ff4c7d1e5 100644 (file)
@@ -3,36 +3,36 @@ USING: arrays errors generic inference kernel lists math
 math-internals namespaces parser sequences test vectors ;
 
 [
-    << shuffle f { "a" } { } { "a" } { "a" } >>
+    T{ shuffle f { "a" } { } { "a" } { "a" } }
 ] [
-    << shuffle f { "a" } { } { "a" "a" } { } >>
-    << shuffle f { "b" } { } { } { "b" } >>
+    T{ shuffle f { "a" } { } { "a" "a" } { } }
+    T{ shuffle f { "b" } { } { } { "b" } }
     compose-shuffle
 ] unit-test
 
 [
-    << shuffle f { "b" "a" } { } { "b" "b" } { } >>
+    T{ shuffle f { "b" "a" } { } { "b" "b" } { } }
 ] [
-    << shuffle f { "a" } { } { } { } >>
-    << shuffle f { "b" } { } { "b" "b" } { } >>
+    T{ shuffle f { "a" } { } { } { } }
+    T{ shuffle f { "b" } { } { "b" "b" } { } }
     compose-shuffle
 ] unit-test
 
-[ @{ 0 2 }@ ] [ [ 2 "Hello" ] infer ] unit-test
-[ @{ 1 2 }@ ] [ [ dup ] infer ] unit-test
+[ { 0 2 } ] [ [ 2 "Hello" ] infer ] unit-test
+[ { 1 2 } ] [ [ dup ] infer ] unit-test
 
-[ @{ 1 2 }@ ] [ [ [ dup ] call ] infer ] unit-test
+[ { 1 2 } ] [ [ [ dup ] call ] infer ] unit-test
 [ [ call ] infer ] unit-test-fails
 
-[ @{ 2 4 }@ ] [ [ 2dup ] infer ] unit-test
+[ { 2 4 } ] [ [ 2dup ] infer ] unit-test
 
-[ @{ 1 0 }@ ] [ [ [ ] [ ] if ] infer ] unit-test
+[ { 1 0 } ] [ [ [ ] [ ] if ] infer ] unit-test
 [ [ if ] infer ] unit-test-fails
 [ [ [ ] if ] infer ] unit-test-fails
 [ [ [ 2 ] [ ] if ] infer ] unit-test-fails
-[ @{ 4 3 }@ ] [ [ [ rot ] [ -rot ] if ] infer ] unit-test
+[ { 4 3 } ] [ [ [ rot ] [ -rot ] if ] infer ] unit-test
 
-[ @{ 4 3 }@ ] [
+[ { 4 3 } ] [
     [
         [
             [ swap 3 ] [ nip 5 5 ] if
@@ -42,14 +42,14 @@ math-internals namespaces parser sequences test vectors ;
     ] infer
 ] unit-test
 
-[ @{ 1 1 }@ ] [ [ dup [ ] when ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ dup [ dup fixnum* ] when ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ [ dup fixnum* ] when ] infer ] unit-test
+[ { 1 1 } ] [ [ dup [ ] when ] infer ] unit-test
+[ { 1 1 } ] [ [ dup [ dup fixnum* ] when ] infer ] unit-test
+[ { 2 1 } ] [ [ [ dup fixnum* ] when ] infer ] unit-test
 
-[ @{ 1 0 }@ ] [ [ [ drop ] when* ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ [ { { [ ] } } ] unless* ] infer ] unit-test
+[ { 1 0 } ] [ [ [ drop ] when* ] infer ] unit-test
+[ { 1 1 } ] [ [ [ { { [ ] } } ] unless* ] infer ] unit-test
 
-[ @{ 0 1 }@ ] [
+[ { 0 1 } ] [
     [ [ 2 2 fixnum+ ] dup [ ] when call ] infer
 ] unit-test
 
@@ -63,19 +63,19 @@ math-internals namespaces parser sequences test vectors ;
 
 : termination-test-2 [ termination-test-1 ] [ 3 ] if ;
 
-[ @{ 1 1 }@ ] [ [ termination-test-2 ] infer ] unit-test
+[ { 1 1 } ] [ [ termination-test-2 ] infer ] unit-test
 
 : infinite-loop infinite-loop ;
 
 : simple-recursion-1
     dup [ simple-recursion-1 ] [ ] if ;
 
-[ @{ 1 1 }@ ] [ [ simple-recursion-1 ] infer ] unit-test
+[ { 1 1 } ] [ [ simple-recursion-1 ] infer ] unit-test
 
 : simple-recursion-2
     dup [ ] [ simple-recursion-2 ] if ;
 
-[ @{ 1 1 }@ ] [ [ simple-recursion-2 ] infer ] unit-test
+[ { 1 1 } ] [ [ simple-recursion-2 ] infer ] unit-test
 
 : bad-recursion-2
     dup [ uncons bad-recursion-2 ] [ ] if ;
@@ -87,10 +87,10 @@ math-internals namespaces parser sequences test vectors ;
 : funny-recursion
     dup [ funny-recursion 1 ] [ 2 ] if drop ;
 
-[ @{ 1 1 }@ ] [ [ funny-recursion ] infer ] unit-test
+[ { 1 1 } ] [ [ funny-recursion ] infer ] unit-test
 
 ! Simple combinators
-[ @{ 1 2 }@ ] [ [ [ car ] keep cdr ] infer ] unit-test
+[ { 1 2 } ] [ [ [ car ] keep cdr ] infer ] unit-test
 
 ! Mutual recursion
 DEFER: foe
@@ -113,8 +113,8 @@ DEFER: foe
         2drop f
     ] if ;
 
-[ @{ 2 1 }@ ] [ [ fie ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ foe ] infer ] unit-test
+[ { 2 1 } ] [ [ fie ] infer ] unit-test
+[ { 2 1 } ] [ [ foe ] infer ] unit-test
 
 : nested-when ( -- )
     t [
@@ -123,7 +123,7 @@ DEFER: foe
         ] when
     ] when ;
 
-[ @{ 0 0 }@ ] [ [ nested-when ] infer ] unit-test
+[ { 0 0 } ] [ [ nested-when ] infer ] unit-test
 
 : nested-when* ( -- )
     [
@@ -132,11 +132,11 @@ DEFER: foe
         ] when*
     ] when* ;
 
-[ @{ 1 0 }@ ] [ [ nested-when* ] infer ] unit-test
+[ { 1 0 } ] [ [ nested-when* ] infer ] unit-test
 
 SYMBOL: sym-test
 
-[ @{ 0 1 }@ ] [ [ sym-test ] infer ] unit-test
+[ { 0 1 } ] [ [ sym-test ] infer ] unit-test
 
 : terminator-branch
     dup [
@@ -145,7 +145,7 @@ SYMBOL: sym-test
         not-a-number
     ] if ;
 
-[ @{ 1 1 }@ ] [ [ terminator-branch ] infer ] unit-test
+[ { 1 1 } ] [ [ terminator-branch ] infer ] unit-test
 
 ! : recursive-terminator
 !     dup [
@@ -154,7 +154,7 @@ SYMBOL: sym-test
 !         not-a-number
 !     ] if ;
 ! 
-! [ @{ 1 0 }@ ] [ [ recursive-terminator ] infer ] unit-test
+! [ { 1 0 } ] [ [ recursive-terminator ] infer ] unit-test
 
 GENERIC: potential-hang
 M: fixnum potential-hang dup [ potential-hang ] when ;
@@ -167,12 +167,12 @@ M: funny-cons iterate funny-cons-cdr iterate ;
 M: f iterate drop ;
 M: real iterate drop ;
 
-[ @{ 1 0 }@ ] [ [ iterate ] infer ] unit-test
+[ { 1 0 } ] [ [ iterate ] infer ] unit-test
 
 DEFER: agent
 : smith 1+ agent ; inline
 : agent dup 0 = [ [ swap call ] 2keep smith ] when ; inline
-[ @{ 0 2 }@ ]
+[ { 0 2 } ]
 [ [ [ drop ] 0 agent ] infer ] unit-test
 
 ! : no-base-case-1 dup [ no-base-case-1 ] [ no-base-case-1 ] if ;
@@ -181,50 +181,50 @@ DEFER: agent
 : no-base-case-2 no-base-case-2 ;
 [ [ no-base-case-2 ] infer ] unit-test-fails
 
-[ @{ 2 1 }@ ] [ [ swons ] infer ] unit-test
-[ @{ 1 2 }@ ] [ [ uncons ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ unit ] infer ] unit-test
-[ @{ 1 2 }@ ] [ [ unswons ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ last ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ list? ] infer ] unit-test
-
-[ @{ 1 0 }@ ] [ [ >n ] infer ] unit-test
-[ @{ 0 1 }@ ] [ [ n> ] infer ] unit-test
-
-[ @{ 2 1 }@ ] [ [ bitor ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ bitand ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ bitxor ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ mod ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ /i ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ /f ] infer ] unit-test
-[ @{ 2 2 }@ ] [ [ /mod ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ + ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ - ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ * ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ / ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ < ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ <= ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ > ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ >= ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ number= ] infer ] unit-test
-
-[ @{ 1 1 }@ ] [ [ string>number ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ = ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ get ] infer ] unit-test
-
-[ @{ 2 0 }@ ] [ [ push ] infer ] unit-test
-[ @{ 2 0 }@ ] [ [ set-length ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ append ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ peek ] infer ] unit-test
-
-[ @{ 1 1 }@ ] [ [ length ] infer ] unit-test
-[ @{ 1 1 }@ ] [ [ reverse ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ member? ] infer ] unit-test
-[ @{ 2 1 }@ ] [ [ remove ] infer ] unit-test
+[ { 2 1 } ] [ [ swons ] infer ] unit-test
+[ { 1 2 } ] [ [ uncons ] infer ] unit-test
+[ { 1 1 } ] [ [ unit ] infer ] unit-test
+[ { 1 2 } ] [ [ unswons ] infer ] unit-test
+[ { 1 1 } ] [ [ last ] infer ] unit-test
+[ { 1 1 } ] [ [ list? ] infer ] unit-test
+
+[ { 1 0 } ] [ [ >n ] infer ] unit-test
+[ { 0 1 } ] [ [ n> ] infer ] unit-test
+
+[ { 2 1 } ] [ [ bitor ] infer ] unit-test
+[ { 2 1 } ] [ [ bitand ] infer ] unit-test
+[ { 2 1 } ] [ [ bitxor ] infer ] unit-test
+[ { 2 1 } ] [ [ mod ] infer ] unit-test
+[ { 2 1 } ] [ [ /i ] infer ] unit-test
+[ { 2 1 } ] [ [ /f ] infer ] unit-test
+[ { 2 2 } ] [ [ /mod ] infer ] unit-test
+[ { 2 1 } ] [ [ + ] infer ] unit-test
+[ { 2 1 } ] [ [ - ] infer ] unit-test
+[ { 2 1 } ] [ [ * ] infer ] unit-test
+[ { 2 1 } ] [ [ / ] infer ] unit-test
+[ { 2 1 } ] [ [ < ] infer ] unit-test
+[ { 2 1 } ] [ [ <= ] infer ] unit-test
+[ { 2 1 } ] [ [ > ] infer ] unit-test
+[ { 2 1 } ] [ [ >= ] infer ] unit-test
+[ { 2 1 } ] [ [ number= ] infer ] unit-test
+
+[ { 1 1 } ] [ [ string>number ] infer ] unit-test
+[ { 2 1 } ] [ [ = ] infer ] unit-test
+[ { 1 1 } ] [ [ get ] infer ] unit-test
+
+[ { 2 0 } ] [ [ push ] infer ] unit-test
+[ { 2 0 } ] [ [ set-length ] infer ] unit-test
+[ { 2 1 } ] [ [ append ] infer ] unit-test
+[ { 1 1 } ] [ [ peek ] infer ] unit-test
+
+[ { 1 1 } ] [ [ length ] infer ] unit-test
+[ { 1 1 } ] [ [ reverse ] infer ] unit-test
+[ { 2 1 } ] [ [ member? ] infer ] unit-test
+[ { 2 1 } ] [ [ remove ] infer ] unit-test
 
 : bad-code "1234" car ;
 
-[ @{ 0 1 }@ ] [ [ bad-code ] infer ] unit-test
+[ { 0 1 } ] [ [ bad-code ] infer ] unit-test
 
 [ 1234 infer ] unit-test-fails
 
index 5236988e39656655fd82b09188ee37ec9f1cf0ad..509835b4e6c42232690129465c4e8d2fe856529c 100644 (file)
@@ -2,7 +2,7 @@ IN: temporary
 USING: kernel inspector math namespaces prettyprint test
 sequences ;
 
-{ } clone inspector-stack set
+V{ } clone inspector-stack set
 
 [[ "hello" "world" ]] (inspect)
 
index ceb3613ac3674f9905bc034aac4cd4fd0a6ddb67..11fb277e35a8836800017686249ee45ff45a397d 100644 (file)
@@ -12,8 +12,8 @@ IN: temporary
 : run ( -- ) [ do ] interpret ;
 
 : init-interpreter ( -- )
-    { } clone meta-r set
-    { } clone meta-d set
+    V{ } clone meta-r set
+    V{ } clone meta-d set
     namestack meta-n set
     catchstack meta-c set
     meta-cf off
@@ -22,58 +22,58 @@ IN: temporary
 : test-interpreter
     init-interpreter meta-cf set run meta-d get ;
 
-[ { 1 2 3 } ] [
+[ V{ 1 2 3 } ] [
     [ 1 2 3 ] test-interpreter
 ] unit-test
 
-[ { "Yo" 2 } ] [
+[ V{ "Yo" 2 } ] [
     [ 2 >r "Yo" r> ] test-interpreter
 ] unit-test
 
-[ { 2 } ] [
+[ V{ 2 } ] [
     [ t [ 2 ] [ "hi" ] if ] test-interpreter
 ] unit-test
 
-[ { "hi" } ] [
+[ V{ "hi" } ] [
     [ f [ 2 ] [ "hi" ] if ] test-interpreter
 ] unit-test
 
-[ { 4 } ] [
+[ V{ 4 } ] [
     [ 2 2 fixnum+ ] test-interpreter
 ] unit-test
 
-[ { "Hey" "there" } ] [
+[ V{ "Hey" "there" } ] [
     [ [[ "Hey" "there" ]] uncons ] test-interpreter
 ] unit-test
 
-[ { t } ] [
+[ V{ t } ] [
     [ "XYZ" "XYZ" = ] test-interpreter
 ] unit-test
 
-[ { f } ] [
+[ V{ f } ] [
     [ "XYZ" "XuZ" = ] test-interpreter
 ] unit-test
 
-[ { #{ 1 1.5 }# { } #{ 1 1.5 }# { } } ] [
-    [ #{ 1 1.5 }# { } 2dup ] test-interpreter
+[ V{ C{ 1 1.5 } { } C{ 1 1.5 } { } } ] [
+    [ C{ 1 1.5 } { } 2dup ] test-interpreter
 ] unit-test
 
-[ { 4 } ] [
+[ V{ 4 } ] [
     [ 2 2 + ] test-interpreter
 ] unit-test
 
-[ { } ] [
+[ V{ } ] [
     [ 3 "x" set ] test-interpreter
 ] unit-test
 
-[ { 3 } ] [
+[ V{ 3 } ] [
     [ 3 "x" set "x" get ] test-interpreter
 ] unit-test
 
-[ { "hi\n" } ] [
+[ V{ "hi\n" } ] [
     [ [ "hi" print ] string-out ] test-interpreter
 ] unit-test
 
-[ { "4\n" } ] [
+[ V{ "4\n" } ] [
     [ [ 2 2 + . ] string-out ] test-interpreter
 ] unit-test
index 4cd82b00ba8c050e85db02479c454c4d95c89d1a..00700bb9cc080e0fe8e4fdbfb2d4f7c056296464 100644 (file)
@@ -3,50 +3,50 @@ USE: kernel
 USE: math
 USE: test
 
-[ 1 #{ 0 1 }# rect> ] unit-test-fails
-[ #{ 0 1 }# 1 rect> ] unit-test-fails
+[ 1 C{ 0 1 } rect> ] unit-test-fails
+[ C{ 0 1 } 1 rect> ] unit-test-fails
 
-[ f ] [ #{ 5 12.5 }# 5  = ] unit-test
-[ t ] [ #{ 1.0 2.0 }# #{ 1 2 }#  = ] unit-test
-[ f ] [ #{ 1.0 2.3 }# #{ 1 2 }#  = ] unit-test
+[ f ] [ C{ 5 12.5 } 5  = ] unit-test
+[ t ] [ C{ 1.0 2.0 } C{ 1 2 }  = ] unit-test
+[ f ] [ C{ 1.0 2.3 } C{ 1 2 }  = ] unit-test
 
-[ #{ 2 5 }# ] [ 2 5  rect> ] unit-test
-[ 2 5 ] [ #{ 2 5 }#  >rect ] unit-test
-[ #{ 1/2 1 }# ] [ 1/2 i  + ] unit-test
-[ #{ 1/2 1 }# ] [ i 1/2  + ] unit-test
-[ t ] [ #{ 11 64 }# #{ 11 64 }#  = ] unit-test
-[ #{ 2 1 }# ] [ 2 i  + ] unit-test
-[ #{ 2 1 }# ] [ i 2  + ] unit-test
-[ #{ 5 4 }# ] [ #{ 2 2 }# #{ 3 2 }#  + ] unit-test
-[ 5 ] [ #{ 2 2 }# #{ 3 -2 }#  + ] unit-test
-[ #{ 1.0 1 }# ] [ 1.0 i  + ] unit-test
+[ C{ 2 5 } ] [ 2 5  rect> ] unit-test
+[ 2 5 ] [ C{ 2 5 }  >rect ] unit-test
+[ C{ 1/2 1 } ] [ 1/2 i  + ] unit-test
+[ C{ 1/2 1 } ] [ i 1/2  + ] unit-test
+[ t ] [ C{ 11 64 } C{ 11 64 }  = ] unit-test
+[ C{ 2 1 } ] [ 2 i  + ] unit-test
+[ C{ 2 1 } ] [ i 2  + ] unit-test
+[ C{ 5 4 } ] [ C{ 2 2 } C{ 3 2 }  + ] unit-test
+[ 5 ] [ C{ 2 2 } C{ 3 -2 }  + ] unit-test
+[ C{ 1.0 1 } ] [ 1.0 i  + ] unit-test
 
-[ #{ 1/2 -1 }# ] [ 1/2 i  - ] unit-test
-[ #{ -1/2 1 }# ] [ i 1/2  - ] unit-test
-[ #{ 1/3 1/4 }# ] [ 1 3 / 1 2 / i * + 1 4 / i *  - ] unit-test
-[ #{ -1/3 -1/4 }# ] [ 1 4 / i * 1 3 / 1 2 / i * +  - ] unit-test
-[ #{ 1/5 1/4 }# ] [ #{ 3/5 1/2 }# #{ 2/5 1/4 }#  - ] unit-test
-[ 4 ] [ #{ 5 10/3 }# #{ 1 10/3 }#  - ] unit-test
-[ #{ 1.0 -1 }# ] [ 1.0 i  - ] unit-test
+[ C{ 1/2 -1 } ] [ 1/2 i  - ] unit-test
+[ C{ -1/2 1 } ] [ i 1/2  - ] unit-test
+[ C{ 1/3 1/4 } ] [ 1 3 / 1 2 / i * + 1 4 / i *  - ] unit-test
+[ C{ -1/3 -1/4 } ] [ 1 4 / i * 1 3 / 1 2 / i * +  - ] unit-test
+[ C{ 1/5 1/4 } ] [ C{ 3/5 1/2 } C{ 2/5 1/4 }  - ] unit-test
+[ 4 ] [ C{ 5 10/3 } C{ 1 10/3 }  - ] unit-test
+[ C{ 1.0 -1 } ] [ 1.0 i  - ] unit-test
 
-[ #{ 0 1 }# ] [ i 1  * ] unit-test
-[ #{ 0 1 }# ] [ 1 i  * ] unit-test
-[ #{ 0 1.0 }# ] [ 1.0 i  * ] unit-test
+[ C{ 0 1 } ] [ i 1  * ] unit-test
+[ C{ 0 1 } ] [ 1 i  * ] unit-test
+[ C{ 0 1.0 } ] [ 1.0 i  * ] unit-test
 [ -1 ] [ i i  * ] unit-test
-[ #{ 0 1 }# ] [ 1 i  * ] unit-test
-[ #{ 0 1 }# ] [ i 1  * ] unit-test
-[ #{ 0 1/2 }# ] [ 1/2 i  * ] unit-test
-[ #{ 0 1/2 }# ] [ i 1/2  * ] unit-test
-[ 2 ] [ #{ 1 1 }# #{ 1 -1 }#  * ] unit-test
+[ C{ 0 1 } ] [ 1 i  * ] unit-test
+[ C{ 0 1 } ] [ i 1  * ] unit-test
+[ C{ 0 1/2 } ] [ 1/2 i  * ] unit-test
+[ C{ 0 1/2 } ] [ i 1/2  * ] unit-test
+[ 2 ] [ C{ 1 1 } C{ 1 -1 }  * ] unit-test
 [ 1 ] [ i -i  * ] unit-test
 
 [ -1 ] [ i -i  / ] unit-test
-[ #{ 0 1 }# ] [ 1 -i  / ] unit-test
-[ t ] [ #{ 12 13 }# #{ 13 14 }# / #{ 13 14 }# * #{ 12 13 }#  = ] unit-test
+[ C{ 0 1 } ] [ 1 -i  / ] unit-test
+[ t ] [ C{ 12 13 } C{ 13 14 } / C{ 13 14 } * C{ 12 13 }  = ] unit-test
 
-[ #{ -3 4 }# ] [ #{ 3 -4 }#  neg ] unit-test
+[ C{ -3 4 } ] [ C{ 3 -4 }  neg ] unit-test
 
-[ 5 ] [ #{ 3 4 }# abs ] unit-test
+[ 5 ] [ C{ 3 4 } abs ] unit-test
 [ 5 ] [ -5.0 abs ] unit-test
 
 ! Make sure arguments are sane
@@ -60,7 +60,7 @@ USE: test
 [ 1 ] [ -1 >polar drop ] unit-test
 [ t ] [ -1 >polar nip 3.14 3.15 between? ] unit-test
 
-[ 0 ] [ #{ 1 1 }# quadrant ] unit-test
-[ 1 ] [ #{ -1 1 }# quadrant ] unit-test
-[ 2 ] [ #{ -1 -1 }# quadrant ] unit-test
-[ 3 ] [ #{ 1 -1 }# quadrant ] unit-test
+[ 0 ] [ C{ 1 1 } quadrant ] unit-test
+[ 1 ] [ C{ -1 1 } quadrant ] unit-test
+[ 2 ] [ C{ -1 -1 } quadrant ] unit-test
+[ 3 ] [ C{ 1 -1 } quadrant ] unit-test
index 5e18888a6034a8e8b3a5fd418718382fe53113b2..dadd2b2e171809c90a23634863c37e1528d4f548 100644 (file)
@@ -9,7 +9,7 @@ USE: test
 [ 0.25 ] [ 2 -2 fpow ] unit-test
 
 [ 4.0 ] [ 16 sqrt ] unit-test
-[ #{ 0 4.0 }# ] [ -16 sqrt ] unit-test
+[ C{ 0 4.0 } ] [ -16 sqrt ] unit-test
 
 [ 4.0 ] [ 2 2 ^ ] unit-test
 [ 0.25 ] [ 2 -2 ^ ] unit-test
index 3305ee51ff42bc28184be3fe6f6790df3ea555a1..e64430cd2d81239290afda218f1c154b2e4f3a4a 100644 (file)
@@ -64,7 +64,7 @@ unit-test
 
 [ 2 ] [ "[[ 1 2 ]]" parse car cdr ] unit-test
 [ "hello" ] [ "[[ 1 \"hello\" ]]" parse car cdr ] unit-test
-[ #{ 1 2 }# ] [ "[[ 1 #{ 1 2 }# ]]" parse car cdr ] unit-test
+[ C{ 1 2 } ] [ "[[ 1 C{ 1 2 } ]]" parse car cdr ] unit-test
 
 ! Test EOL comments in multiline strings.
 [ [ "Hello" ] ] [ "#! This calls until-eol.\n\"Hello\"" parse ] unit-test 
index 7bd596f143782ce2f84554971fe920ba15515bb5..7c9d7f244b82d8c4603c797f0c94cfa98f16148f 100644 (file)
@@ -4,7 +4,7 @@ IN: temporary
 
 [ "4" ] [ 4 unparse ] unit-test
 [ "1.0" ] [ 1.0 unparse ] unit-test
-[ "#{ 1/2 2/3 }#" ] [ #{ 1/2 2/3 }# unparse ] unit-test
+[ "C{ 1/2 2/3 }" ] [ C{ 1/2 2/3 } unparse ] unit-test
 [ "1267650600228229401496703205376" ] [ 1 100 shift unparse ] unit-test
 
 [ "+" ] [ \ + unparse ] unit-test
index c1909298e6cec45d4411310839b9260dba745e4e..94b36392e5d31dc4e250a268873221612cefd0dc 100644 (file)
@@ -6,7 +6,7 @@ IN: temporary
 : foo 1 2 3 ;
 
 [ 1 2 3 1 2 3 ] [ bar ] unit-test
-[ @{ 0 3 }@ ] [ [ foo ] infer ] unit-test
+[ { 0 3 } ] [ [ foo ] infer ] unit-test
 
 [ ] [
     "IN: temporary : foo ; : bar foo ; : baz foo ; : foo ;" eval
index 2d992cfb8edf4c32b3b09e712b33607872629676..86eeba791f1fcc12ab1ce620cef6da58c874628a 100644 (file)
@@ -73,7 +73,7 @@ SYMBOL: failures
     prepare-tests [ test ] subset terpri passed. failed. ;
 
 : tests
-    @{
+    {
         "lists/cons" "lists/lists" "lists/assoc"
         "lists/namespaces"
         "combinators"
@@ -94,24 +94,24 @@ SYMBOL: failures
         "gadgets/frames" "memory"
         "redefine" "annotate" "binary" "inspector"
         "kernel"
-    }@ run-tests ;
+    } run-tests ;
 
 : benchmarks
-    @{
+    {
         "benchmark/empty-loop" "benchmark/fac"
         "benchmark/fib" "benchmark/sort"
         "benchmark/continuations" "benchmark/ack"
         "benchmark/hashtables" "benchmark/strings"
         "benchmark/vectors" "benchmark/prettyprint"
         "benchmark/image"
-    }@ run-tests ;
+    } run-tests ;
 
 : compiler-tests
-    @{
+    {
         "io/buffer" "compiler/optimizer"
         "compiler/simple"
         "compiler/stack" "compiler/ifte"
         "compiler/generic" "compiler/bail-out"
         "compiler/linearizer" "compiler/intrinsics"
         "compiler/identities"
-    }@ run-tests ;
+    } run-tests ;
index 8a9bd9c28f14c3b074f87b6986eea331559284c9..9d045fda9c65a153b3bf749ba3895b9afaa48c00 100644 (file)
@@ -70,7 +70,7 @@ M: silly-pred area dup rect-w swap rect-h * ;
 TUPLE: circle radius ;
 M: circle area circle-radius sq pi * ;
 
-[ 200 ] [ << rect f 0 0 10 20 >> area ] unit-test
+[ 200 ] [ T{ rect f 0 0 10 20 } area ] unit-test
 
 [ ] [ "IN: temporary  SYMBOL: #x  TUPLE: #x ;" eval ] unit-test
 
@@ -80,8 +80,8 @@ TUPLE: empty ;
 
 TUPLE: delegate-clone ;
 
-[ << delegate-clone << empty f >> >> ]
-[ << delegate-clone << empty f >> >> clone ] unit-test
+[ T{ delegate-clone T{ empty f } } ]
+[ T{ delegate-clone T{ empty f } } clone ] unit-test
 
 [ t ] [ \ null \ delegate-clone class< ] unit-test
 [ f ] [ \ object \ delegate-clone class< ] unit-test
@@ -107,6 +107,6 @@ TUPLE: delegate-clone ;
 TUPLE: size-test a b c d ;
 
 [ t ] [
-    << size-test >> array-capacity
+    T{ size-test } array-capacity
     size-test "tuple-size" word-prop =
 ] unit-test
index 91bb0ba4b2740c222f7e8636ca45d771372e2670..34415cad0f374b2aebe65696271d32c6eef664b0 100644 (file)
@@ -39,7 +39,7 @@ DEFER: next-thread
 : in-thread ( quot -- )
     [
         schedule-thread
-        [ ] set-catchstack { } set-callstack
+        [ ] set-catchstack V{ } set-callstack
         try stop
     ] callcc0 drop ;
 
@@ -85,6 +85,6 @@ GENERIC: tick ( ms object -- )
 : init-threads ( -- )
     global [
         <queue> \ run-queue set
-        { } clone \ sleep-queue set
-        {{ }} clone \ timers set
+        V{ } clone \ sleep-queue set
+        H{ } clone \ timers set
     ] bind ;
index b2c841203de4e3690b41c7964bba63b9ee982a37..0f253dbbf19db6570fa2f7da00050adf6b8d081b 100644 (file)
@@ -53,7 +53,7 @@ PREDICATE: cons kernel-error ( obj -- ? )
 
 M: kernel-error error. ( error -- )
     #! Kernel errors are indexed by integers.
-    cdr uncons car swap @{
+    cdr uncons car swap {
         [ expired-error. ]
         [ io-error. ]
         [ undefined-word-error. ]
@@ -66,7 +66,7 @@ M: kernel-error error. ( error -- )
         [ heap-scan-error. ]
         [ undefined-symbol-error. ]
         [ user-interrupt. ]
-    }@ dispatch ;
+    } dispatch ;
 
 M: no-method error. ( error -- )
     "No suitable method." print
index ea3994a90ac1c2803f8921d0bba75fddcee1f6ef..9a600c7ecece9fe0ab18ba96cf9cecebd4630fc3 100644 (file)
@@ -18,7 +18,7 @@ M: real summary
 
 M: complex summary
     "a complex number in the "
-    swap quadrant @{ "first" "second" "fourth" "third" }@ nth
+    swap quadrant { "first" "second" "fourth" "third" } nth
     " quadrant" append3 ;
 
 GENERIC: sheet ( obj -- sheet )
index 26938e92903093b4db61ab5b8fed4a9a82cd9d19..618fb44e436b31c7ea9f995e7f37f8fb759c2361 100644 (file)
@@ -33,7 +33,7 @@ SYMBOL: inspector-stack
         terpri
         "inspector " listener-prompt set
         [ inspector-stack get "Inspector history:" ] callstack-hook set
-        { } clone inspector-stack set
+        V{ } clone inspector-stack set
         (inspect)
         listener
     ] with-scope ;
index 3a4b44ce0cafb72c2b56ca60d5a3ab855d496e93..433aadbfd8295ecec00e7f0dd9b999b07b19e117 100644 (file)
@@ -54,7 +54,7 @@ sequences strings unparser vectors words ;
 : instances ( quot -- seq )
     #! Return a list of all object that return true when the
     #! quotation is applied to them.
-    [ [ [ swap call ] 2keep rot ?, ] each-object drop ] { } make ;
+    [ [ [ swap call ] 2keep rot ?, ] each-object drop ] V{ } make ;
     inline
 
 G: each-slot ( obj quot -- )
@@ -88,7 +88,7 @@ M: object each-slot ( obj quot -- )
     num-types zero-array num-types zero-array
     [ >r 2dup r> heap-stat-step ] each-object ;
 
-: heap-stat. ( @{ instances bytes type }@ -- )
+: heap-stat. ( { instances bytes type } -- )
     dup first 0 = [
         dup third type>class pprint ": " write
         dup second pprint " bytes, " write
index 67ce604a64b48925bdc53bdc991907106a42f0b0..2cd0130a9ad0d89c4bf9bf95f3970e1f350ec485 100644 (file)
@@ -15,7 +15,7 @@ prettyprint sequences io strings vectors words ;
 : meta-r*
     #! Stepper call stack, as well as the currently
     #! executing quotation.
-    [ meta-r get % meta-executing get , meta-cf get , ] @{ }@ make ;
+    [ meta-r get % meta-executing get , meta-cf get , ] { } make ;
 
 : &r
     #! Print stepper call stack, as well as the currently
index 830d8bfacd6a1feaa2b6bbd54e9787395c2a3098..eb815e5d5361cdd56471acc16af08c9f1f7270bc 100644 (file)
@@ -44,7 +44,7 @@ TUPLE: book-browser book ;
         arrow-left   [ prev-page  ] <book-button> ,
         arrow-right  [ next-page  ] <book-button> ,
         arrow-right| [ last-page  ] <book-button> ,
-    ] @{ }@ make make-shelf ;
+    ] { } make make-shelf ;
 
 C: book-browser ( book -- gadget )
     dup delegate>frame
index 1d6b3160130f75137149b1ea89b9112283c0f470..dc4b82d345c311a84ebdc627e8e63e351bb2d7c3 100644 (file)
@@ -8,7 +8,7 @@ TUPLE: border size ;
 
 C: border ( child -- border )
     dup delegate>gadget
-    @{ 5 5 0 }@ over set-border-size
+    { 5 5 0 } over set-border-size
     [ add-gadget ] keep ;
 
 : layout-border-loc ( border -- )
index e7e788743b85128241fe8e295ea4cba9e0bca884..5362e3a765a4d2cd858675b5bcb80f0088e57852 100644 (file)
@@ -40,7 +40,7 @@ C: button ( gadget quot -- button )
     [ swap button-gestures ] keep ;
 
 : <highlight-button> ( gadget quot -- button )
-    <button> @{ 0 0 0 }@ over set-border-size ;
+    <button> { 0 0 0 } over set-border-size ;
 
 : <roll-button> ( gadget quot -- button )
     <highlight-button> dup roll-button-theme ;
@@ -68,11 +68,11 @@ M: button tick ( ms object -- ) nip button-clicked ;
 TUPLE: button-paint plain rollover pressed ;
 
 : button-paint ( button paint -- button paint )
-    @{
-        @{ [ over button-pressed? ] [ button-paint-pressed ] }@
-        @{ [ over button-rollover? ] [ button-paint-rollover ] }@
-        @{ [ t ] [ button-paint-plain ] }@
-    }@ cond ;
+    {
+        { [ over button-pressed? ] [ button-paint-pressed ] }
+        { [ over button-rollover? ] [ button-paint-rollover ] }
+        { [ t ] [ button-paint-plain ] }
+    } cond ;
 
 M: button-paint draw-interior ( button paint -- )
     button-paint draw-interior ;
index 2b5a851dc73786c89a096cceac066cc994f0569d..6f1ce5b07d22ed5ddeedd41e4b6d9b5a10439aac 100644 (file)
@@ -86,32 +86,32 @@ TUPLE: editor line caret font color ;
     swap [ first complete ] with-editor ;
 
 : do-completion ( editor -- )
-    dup [ completions ] with-editor @{
-        @{ [ dup empty? ] [ 2drop ] }@
-        @{ [ dup length 1 = ] [ do-completion-1 ] }@
-        @{ [ t ] [ completion-menu ] }@
-    }@ cond ;
+    dup [ completions ] with-editor {
+        { [ dup empty? ] [ 2drop ] }
+        { [ dup length 1 = ] [ do-completion-1 ] }
+        { [ t ] [ completion-menu ] }
+    } cond ;
 
 : editor-actions ( editor -- )
-    {{
+    H{
         [[ [ gain-focus ] [ focus-editor ] ]]
         [[ [ lose-focus ] [ unfocus-editor ] ]]
         [[ [ button-down 1 ] [ click-editor ] ]]
-        [[ [ "BACKSPACE" ] [ [ << char-elt >> delete-prev-elt ] with-editor ] ]]
-        [[ [ "DELETE" ] [ [ << char-elt >> delete-next-elt ] with-editor ] ]]
-        [[ [ "CTRL" "BACKSPACE" ] [ [ << word-elt >> delete-prev-elt ] with-editor ] ]]
-        [[ [ "CTRL" "DELETE" ] [ [ << word-elt >> delete-next-elt ] with-editor ] ]]
-        [[ [ "ALT" "BACKSPACE" ] [ [ << document-elt >> delete-prev-elt ] with-editor ] ]]
-        [[ [ "ALT" "DELETE" ] [ [ << document-elt >> delete-next-elt ] with-editor ] ]]
-        [[ [ "LEFT" ] [ [ << char-elt >> prev-elt ] with-editor ] ]]
-        [[ [ "RIGHT" ] [ [ << char-elt >> next-elt ] with-editor ] ]]
-        [[ [ "CTRL" "LEFT" ] [ [ << word-elt >> prev-elt ] with-editor ] ]]
-        [[ [ "CTRL" "RIGHT" ] [ [ << word-elt >> next-elt ] with-editor ] ]]
-        [[ [ "HOME" ] [ [ << document-elt >> prev-elt ] with-editor ] ]]
-        [[ [ "END" ] [ [ << document-elt >> next-elt ] with-editor ] ]]
+        [[ [ "BACKSPACE" ] [ [ T{ char-elt } delete-prev-elt ] with-editor ] ]]
+        [[ [ "DELETE" ] [ [ T{ char-elt } delete-next-elt ] with-editor ] ]]
+        [[ [ "CTRL" "BACKSPACE" ] [ [ T{ word-elt } delete-prev-elt ] with-editor ] ]]
+        [[ [ "CTRL" "DELETE" ] [ [ T{ word-elt } delete-next-elt ] with-editor ] ]]
+        [[ [ "ALT" "BACKSPACE" ] [ [ T{ document-elt } delete-prev-elt ] with-editor ] ]]
+        [[ [ "ALT" "DELETE" ] [ [ T{ document-elt } delete-next-elt ] with-editor ] ]]
+        [[ [ "LEFT" ] [ [ T{ char-elt } prev-elt ] with-editor ] ]]
+        [[ [ "RIGHT" ] [ [ T{ char-elt } next-elt ] with-editor ] ]]
+        [[ [ "CTRL" "LEFT" ] [ [ T{ word-elt } prev-elt ] with-editor ] ]]
+        [[ [ "CTRL" "RIGHT" ] [ [ T{ word-elt } next-elt ] with-editor ] ]]
+        [[ [ "HOME" ] [ [ T{ document-elt } prev-elt ] with-editor ] ]]
+        [[ [ "END" ] [ [ T{ document-elt } next-elt ] with-editor ] ]]
         [[ [ "CTRL" "k" ] [ [ line-clear ] with-editor ] ]]
         [[ [ "TAB" ] [ do-completion ] ]]
-    }} add-actions ;
+    } add-actions ;
 
 C: editor ( text -- )
     dup delegate>gadget
@@ -129,13 +129,13 @@ C: editor ( text -- )
     0 0 3array ;
 
 : caret-dim ( editor -- w h )
-    rect-dim @{ 0 1 1 }@ v* @{ 1 0 0 }@ v+ ;
+    rect-dim { 0 1 1 } v* { 1 0 0 } v+ ;
 
 M: editor user-input* ( ch editor -- ? )
     [ insert-char ] with-editor f ;
 
 M: editor pref-dim ( editor -- dim )
-    label-size @{ 1 0 0 }@ v+ ;
+    label-size { 1 0 0 } v+ ;
 
 M: editor layout* ( editor -- )
     dup editor-caret over caret-dim swap set-gadget-dim
index 1c025d53fee03b49301915a042a5d87b83706acf..cc50d3591bb898b5a3160f21159c07421c8cb112 100644 (file)
@@ -9,7 +9,7 @@ sequences ;
 TUPLE: frame grid ;
 
 : <frame-grid>
-    @{ @{ f f f }@ @{ f f f }@ @{ f f f }@ }@ [ clone ] map ;
+    { { f f f } { f f f } { f f f } } [ clone ] map ;
 
 : @center 1 1 ;
 : @left 0 1 ;
@@ -44,10 +44,10 @@ C: frame ( -- frame )
     [ max-dim ] map ;
 
 : frame-pref-dim ( grid -- dim )
-    reduce-grid @{ 0 0 0 }@ [ v+ ] reduce ;
+    reduce-grid { 0 0 0 } [ v+ ] reduce ;
 
 : pref-dim-grid ( grid -- grid )
-    [ [ [ pref-dim ] [ @{ 0 0 0 }@ ] if* ] map ] map ;
+    [ [ [ pref-dim ] [ { 0 0 0 } ] if* ] map ] map ;
 
 M: frame pref-dim ( frame -- dim )
     frame-grid pref-dim-grid
index 901b9347a931800eeb98a84ee5504b0eb7aeb872..4660a63d963a831aee6cac26137a7ea1b765bfa3 100644 (file)
@@ -6,13 +6,13 @@ namespaces sequences styles ;
 
 SYMBOL: origin
 
-@{ 0 0 0 }@ origin global set-hash
+{ 0 0 0 } origin global set-hash
 
 TUPLE: rect loc dim ;
 
 M: array rect-loc ;
 
-M: array rect-dim drop @{ 0 0 0 }@ ;
+M: array rect-dim drop { 0 0 0 } ;
 
 : rect-bounds ( rect -- loc dim ) dup rect-loc swap rect-dim ;
 
@@ -54,8 +54,8 @@ M: gadget = eq? ;
 : gadget-child gadget-children first ;
 
 C: gadget ( -- gadget )
-    @{ 0 0 0 }@ dup <rect> over set-delegate dup show-gadget
-    @{ 0 1 0 }@ over set-gadget-orientation ;
+    { 0 0 0 } dup <rect> over set-delegate dup show-gadget
+    { 0 1 0 } over set-gadget-orientation ;
 
 : delegate>gadget ( tuple -- ) <gadget> swap set-delegate ;
 
@@ -90,7 +90,7 @@ M: gadget children-on ( rect/point gadget -- list )
         ] [ 2drop f ] if
     ] with-scope ;
 
-: max-dim ( dims -- dim ) @{ 0 0 0 }@ [ vmax ] reduce ;
+: max-dim ( dims -- dim ) { 0 0 0 } [ vmax ] reduce ;
 
 : set-gadget-delegate ( delegate gadget -- )
     dup pick gadget-children [ set-gadget-parent ] each-with
index 7778250a03fdcc92e72d4cbaba05756a32beb2c1..6d8e9a6c636a4f4dbaae4053f73d6109e627fe4c 100644 (file)
@@ -8,7 +8,7 @@ USING: alien generic hashtables kernel lists math sequences ;
 
 : init-gestures ( gadget -- gestures )
     dup gadget-gestures
-    [ ] [ {{ }} clone dup rot set-gadget-gestures ] ?if ;
+    [ ] [ H{ } clone dup rot set-gadget-gestures ] ?if ;
 
 : set-action ( gadget quot gesture -- )
     rot init-gestures set-hash ;
index 37444bb637ddf3a9ef8957b5e1bc70fe418828e3..dda7dc7820943def3952ed13b717944fcacc7117 100644 (file)
@@ -14,7 +14,7 @@ prettyprint sequences vectors ;
 TUPLE: hand click-loc click-rel clicked buttons gadget focus ;
 
 C: hand ( -- hand )
-    dup delegate>gadget { } clone over set-hand-buttons ;
+    dup delegate>gadget V{ } clone over set-hand-buttons ;
 
 : button/ ( n hand -- )
     dup hand-gadget over set-hand-clicked
index 0f2d90bd84dfac4f13f4f8744280f5e668027f62..f4c4c156e7b9938de7bb2311bc056541a972823b 100644 (file)
@@ -42,7 +42,7 @@ namespaces sequences vectors ;
 : parents ( gadget -- vector )
     #! A list of all parents of the gadget, the first element
     #! is the gadget itself.
-    { } clone [ (parents) ] keep ;
+    V{ } clone [ (parents) ] keep ;
 
 : each-parent ( gadget quot -- ? )
     >r parents r> all? ; inline
@@ -52,12 +52,12 @@ namespaces sequences vectors ;
 
 : screen-loc ( gadget -- point )
     #! The position of the gadget on the screen.
-    parents @{ 0 0 0 }@ [ rect-loc v+ ] reduce ;
+    parents { 0 0 0 } [ rect-loc v+ ] reduce ;
 
 : gadget-point ( gadget vector -- point )
-    #! @{ 0 0 0 }@ - top left corner
-    #! @{ 1/2 1/2 0 }@ - middle
-    #! @{ 1 1 0 }@ - bottom right corner
+    #! { 0 0 0 } - top left corner
+    #! { 1/2 1/2 0 } - middle
+    #! { 1 1 0 } - bottom right corner
     >r dup screen-loc swap rect-dim r> v* v+ ;
 
 : relative ( g1 g2 -- g2-g1 ) screen-loc swap screen-loc v- ;
index 4f1ccc896c7b19dda06c95e068db9ef47ca3dc09..f82d448c13ae742a71e1809e0982739d22c306f9 100644 (file)
@@ -48,5 +48,5 @@ M: incremental pref-dim ( incremental -- dim )
 
 : clear-incremental ( incremental -- )
     dup (clear-gadget)
-    @{ 0 0 0 }@ over set-incremental-cursor
+    { 0 0 0 } over set-incremental-cursor
     gadget-parent [ relayout ] when* ;
index 3aa056e842a928c75c707f3117ab363edf0db10f..e1831fcc9d33e9ed2f1a05de5aa6016a3101fe7a 100644 (file)
@@ -73,7 +73,7 @@ TUPLE: pack align fill gap ;
     2dup packed-dim-2 swap orient ;
 
 : packed-loc-1 ( gadget sizes -- seq )
-    @{ 0 0 0 }@ [ v+ over pack-gap v+ ] accumulate nip ;
+    { 0 0 0 } [ v+ over pack-gap v+ ] accumulate nip ;
 
 : packed-loc-2 ( gadget sizes -- seq )
     [
@@ -97,19 +97,19 @@ C: pack ( vector -- pack )
     [ set-gadget-orientation ] keep
     0 over set-pack-align
     0 over set-pack-fill
-    @{ 0 0 0 }@ over set-pack-gap ;
+    { 0 0 0 } over set-pack-gap ;
 
 : delegate>pack ( vector tuple -- ) >r <pack> r> set-delegate ;
 
-: <pile> ( -- pack ) @{ 0 1 0 }@ <pack> ;
+: <pile> ( -- pack ) { 0 1 0 } <pack> ;
 
-: <shelf> ( -- pack ) @{ 1 0 0 }@ <pack> ;
+: <shelf> ( -- pack ) { 1 0 0 } <pack> ;
 
 M: pack pref-dim ( pack -- dim )
     [
         [
             pref-dims [ max-dim ] keep
-            [ @{ 0 0 0 }@ [ v+ ] reduce ] keep length 1 - 0 max
+            [ { 0 0 0 } [ v+ ] reduce ] keep length 1 - 0 max
         ] keep pack-gap n*v v+
     ] keep gadget-orientation set-axis ;
 
@@ -131,7 +131,7 @@ TUPLE: stack ;
 
 C: stack ( -- gadget )
     #! A stack lays out all its children on top of each other.
-    @{ 0 0 1 }@ over delegate>pack 1 over set-pack-fill ;
+    { 0 0 1 } over delegate>pack 1 over set-pack-fill ;
 
 M: stack children-on ( point stack -- gadget )
     nip gadget-children ;
index 3b18be8d1ab209e360c51827ce64c93fb3c1d653..536ca14fdaf86234d7fbc91b7897ae410061685c 100644 (file)
@@ -117,7 +117,7 @@ M: document-elt prev-elt* 3drop 0 ;
     [
         "" line-text set
         0 <point> caret set
-        { } clone history set
+        V{ } clone history set
         0 history-index set
         possibilities off
     ] make-hash ;
@@ -141,7 +141,7 @@ M: document-elt prev-elt* 3drop 0 ;
     [ drop ] [ 1+ goto-history ] if ;
 
 : completions ( -- seq )
-    << word-elt >> prev-elt@ 2dup = [
+    T{ word-elt } prev-elt@ 2dup = [
         2drop f
     ] [
         line-text get subseq possibilities get
@@ -149,4 +149,4 @@ M: document-elt prev-elt* 3drop 0 ;
     ] if ;
 
 : complete ( completion -- )
-    << word-elt >> prev-elt@ line-replace ;
+    T{ word-elt } prev-elt@ line-replace ;
index 44452751eda57a15669337c9bd0df7b4193f5772..f6ad0372381da61c6d7d326d0277c648f1d2b9f6 100644 (file)
@@ -73,18 +73,18 @@ M: polygon draw-boundary ( gadget polygon -- )
 M: polygon draw-interior ( gadget polygon -- )
     [ gl-fill-poly ] draw-polygon drop ;
 
-: arrow-up    @{ @{ @{ 3 0 0 }@ @{ 6 6 0 }@ @{ 0 6 0 }@ }@ }@ ;
-: arrow-right @{ @{ @{ 0 0 0 }@ @{ 6 3 0 }@ @{ 0 6 0 }@ }@ }@ ;
-: arrow-down  @{ @{ @{ 0 0 0 }@ @{ 6 0 0 }@ @{ 3 6 0 }@ }@ }@ ;
-: arrow-left  @{ @{ @{ 0 3 0 }@ @{ 6 0 0 }@ @{ 6 6 0 }@ }@ }@ ;
+: arrow-up    { { { 3 0 0 } { 6 6 0 } { 0 6 0 } } } ;
+: arrow-right { { { 0 0 0 } { 6 3 0 } { 0 6 0 } } } ;
+: arrow-down  { { { 0 0 0 } { 6 0 0 } { 3 6 0 } } } ;
+: arrow-left  { { { 0 3 0 } { 6 0 0 } { 6 6 0 } } } ;
 
 : arrow-right|
-    @{ @{ @{ 6 0 0 }@ @{ 6 6 0 }@ }@ }@ arrow-right append ;
+    { { { 6 0 0 } { 6 6 0 } } } arrow-right append ;
 
 : arrow-|left
-    @{ @{ @{ 1 0 0 }@ @{ 1 6 0 }@ }@ }@ arrow-left append ;
+    { { { 1 0 0 } { 1 6 0 } } } arrow-left append ;
 
 : <polygon-gadget> ( color points -- gadget )
-    dup @{ 0 0 0 }@ [ max-dim vmax ] reduce
+    dup { 0 0 0 } [ max-dim vmax ] reduce
     >r <polygon> <gadget> r> over set-rect-dim
     [ set-gadget-interior ] keep ;
index ac8d69a8338d165e11c72dffd29eda77cc7147f9..eecea32ae06e51fc774c9ded274c8255e310ad96 100644 (file)
@@ -73,13 +73,13 @@ SYMBOL: structured-input
     dup pane-output clear-incremental pane-current clear-gadget ;
  
 : pane-actions ( line -- )
-    {{
+    H{
         [[ [ button-down 1 ] [ pane-input [ click-editor ] when* ] ]]
         [[ [ "RETURN" ] [ pane-return ] ]]
         [[ [ "UP" ] [ pane-input [ [ history-prev ] with-editor ] when* ] ]]
         [[ [ "DOWN" ] [ pane-input [ [ history-next ] with-editor ] when* ] ]]
         [[ [ "CTRL" "l" ] [ pane get pane-clear ] ]]
-    }} add-actions ;
+    } add-actions ;
 
 C: pane ( input? scrolls? -- pane )
     #! You can create output-only panes. If the scrolls flag is
@@ -105,11 +105,11 @@ M: pane focusable-child* ( pane -- editor )
 
 : prepare-print ( current -- gadget )
     #! Optimization: if line has 1 child, add the child.
-    dup gadget-children @{
-        @{ [ dup empty? ] [ 2drop "" <label> ] }@
-        @{ [ dup length 1 = ] [ nip first ] }@
-        @{ [ t ] [ drop ] }@
-    }@ cond ;
+    dup gadget-children {
+        { [ dup empty? ] [ 2drop "" <label> ] }
+        { [ dup length 1 = ] [ nip first ] }
+        { [ t ] [ drop ] }
+    } cond ;
 
 : pane-print-1 ( current pane -- )
     >r prepare-print r> pane-output add-incremental ;
index 9344a7b9464d56d54bfd0a41eab9fa13bb400a7d..5a140f38ba551e996d8108e9d9d84b90eabcd2d6 100644 (file)
@@ -9,7 +9,7 @@ words ;
 
 SYMBOL: commands
 
-{ } clone commands global set-hash
+V{ } clone commands global set-hash
 
 : define-command ( class name quot -- )
     3array commands get push ;
index a4d45d403f9de9a51a90592d494623124177ab9e..9942ff25b6484daf506f1a42c7b32345503e1989 100644 (file)
@@ -11,7 +11,7 @@ TUPLE: viewport ;
 ! The follows slot is set by scroll-to.
 TUPLE: scroller viewport x y follows ;
 
-: scroller-origin ( scroller -- @{ x y 0 }@ )
+: scroller-origin ( scroller -- { x y 0 } )
     dup scroller-x slider-value
     swap scroller-y slider-value
     0 3array ;
@@ -55,7 +55,7 @@ M: viewport pref-dim gadget-child pref-dim ;
     dup pop-follows dup [
         swap scroller-viewport (do-scroll)
     ] [
-        2drop @{ 0 0 0 }@
+        2drop { 0 0 0 }
     ] if ;
 
 : update-scroller ( scroller -- )
index b29b2b6652827cc639dd56daf665cc5dd8e39def..a37e43c0ac86507261effe4086943f6709b2f65b 100644 (file)
@@ -104,7 +104,7 @@ M: elevator layout* ( elevator -- )
 
 : slide-by-line ( -1/1 slider -- ) >r 32 * r> slide-by ;
 
-: slider-vertical? gadget-orientation @{ 0 1 0 }@ = ;
+: slider-vertical? gadget-orientation { 0 1 0 } = ;
 
 : <slide-button> ( orientation polygon amount -- )
     >r gray swap <polygon-gadget> r>
@@ -115,20 +115,20 @@ M: elevator layout* ( elevator -- )
     swap slider-vertical? arrow-up arrow-left ? -1
     <slide-button> ;
 
-: add-up @{ 1 1 1 }@ over gadget-orientation v- first2 frame-add ;
+: add-up { 1 1 1 } over gadget-orientation v- first2 frame-add ;
 
 : <down-button> ( slider orientation -- button )
     swap slider-vertical? arrow-down arrow-right ? 1
     <slide-button> ;
 
-: add-down @{ 1 1 1 }@ over gadget-orientation v+ first2 frame-add ;
+: add-down { 1 1 1 } over gadget-orientation v+ first2 frame-add ;
 
 : add-elevator 2dup set-slider-elevator @center frame-add ;
 
 : add-thumb 2dup slider-elevator add-gadget set-slider-thumb ;
 
 : slider-opposite ( slider -- vector )
-    gadget-orientation @{ 1 1 0 }@ swap v- ;
+    gadget-orientation { 1 1 0 } swap v- ;
 
 C: slider ( vector -- slider )
     dup delegate>frame
@@ -142,6 +142,6 @@ C: slider ( vector -- slider )
     2dup <down-button> pick add-down
     <thumb> over add-thumb ;
 
-: <x-slider> ( -- slider ) @{ 1 0 0 }@ <slider> ;
+: <x-slider> ( -- slider ) { 1 0 0 } <slider> ;
 
-: <y-slider> ( -- slider ) @{ 0 1 0 }@ <slider> ;
+: <y-slider> ( -- slider ) { 0 1 0 } <slider> ;
index 4dd69af614b42450d7f5c03e389b14491e139bce..fc22344da0c89fa97042cbcd249f1f516d87844a 100644 (file)
@@ -6,7 +6,7 @@ kernel lists math namespaces sequences styles ;
 
 TUPLE: divider splitter ;
 
-: divider-size @{ 8 8 0 }@ ;
+: divider-size { 8 8 0 } ;
 
 M: divider pref-dim drop divider-size ;
 
@@ -17,7 +17,7 @@ TUPLE: splitter split ;
 
 : divider-motion ( splitter -- )
     dup hand>split
-    over rect-dim @{ 1 1 1 }@ vmax v/ over gadget-orientation v.
+    over rect-dim { 1 1 1 } vmax v/ over gadget-orientation v.
     0 max 1 min over set-splitter-split relayout-1 ;
 
 : divider-actions ( thumb -- )
@@ -37,21 +37,21 @@ C: splitter ( first second split vector -- splitter )
     1 over set-pack-fill ;
 
 : <x-splitter> ( first second split -- splitter )
-    @{ 0 1 0 }@ <splitter> ;
+    { 0 1 0 } <splitter> ;
 
 : <y-splitter> ( first second split -- splitter )
-    @{ 1 0 0 }@ <splitter> ;
+    { 1 0 0 } <splitter> ;
 
 : splitter-part ( splitter -- vec )
     dup splitter-split swap rect-dim
     n*v [ >fixnum ] map divider-size 1/2 v*n v- ;
 
-: splitter-layout ( splitter -- @{ a b c }@ )
+: splitter-layout ( splitter -- { a b c } )
     [
         dup splitter-part ,
         divider-size ,
         dup rect-dim divider-size v- swap splitter-part v- ,
-    ] @{ }@ make ;
+    ] { } make ;
 
 M: splitter layout* ( splitter -- )
     dup splitter-layout packed-layout ;
index 79777051fc630e606ee2df390b0b21673a66b501..9e8514ff402b24cf4199363b7948a02fcf3c174d 100644 (file)
@@ -10,40 +10,40 @@ DEFER: set-label-font
 IN: gadgets-theme
 USING: arrays gadgets kernel sequences styles ;
 
-: solid-black << solid f @{ 0.0 0.0 0.0 1.0 }@ >> ;
+: solid-black T{ solid f { 0.0 0.0 0.0 1.0 } } ;
 
-: solid-white << solid f @{ 1.0 1.0 1.0 1.0 }@ >> ;
+: solid-white T{ solid f { 1.0 1.0 1.0 1.0 } } ;
 
 : solid-interior solid-white swap set-gadget-interior ;
 
 : solid-boundary solid-black swap set-gadget-boundary ;
 
 : plain-gradient
-    << gradient f @{
-        @{ 0.94 0.94 0.94 1.0 }@
-        @{ 0.83 0.83 0.83 1.0 }@
-        @{ 0.83 0.83 0.83 1.0 }@
-        @{ 0.62 0.62 0.62 1.0 }@
-    }@ >> ;
+    T{ gradient f {
+        { 0.94 0.94 0.94 1.0 }
+        { 0.83 0.83 0.83 1.0 }
+        { 0.83 0.83 0.83 1.0 }
+        { 0.62 0.62 0.62 1.0 }
+    } } ;
 
 : rollover-gradient
-    << gradient f @{
-        @{ 1.0 1.0 1.0 1.0 }@
-        @{ 0.9 0.9 0.9 1.0 }@
-        @{ 0.9 0.9 0.9 1.0 }@
-        @{ 0.75 0.75 0.75 1.0 }@
-    }@ >> ;
+    T{ gradient f {
+        { 1.0 1.0 1.0 1.0 }
+        { 0.9 0.9 0.9 1.0 }
+        { 0.9 0.9 0.9 1.0 }
+        { 0.75 0.75 0.75 1.0 }
+    } } ;
 
 : pressed-gradient
-    << gradient f @{
-        @{ 0.75 0.75 0.75 1.0 }@
-        @{ 0.9 0.9 0.9 1.0 }@
-        @{ 0.9 0.9 0.9 1.0 }@
-        @{ 1.0 1.0 1.0 1.0 }@
-    }@ >> ;
+    T{ gradient f {
+        { 0.75 0.75 0.75 1.0 }
+        { 0.9 0.9 0.9 1.0 }
+        { 0.9 0.9 0.9 1.0 }
+        { 1.0 1.0 1.0 1.0 }
+    } } ;
 
 : faint-boundary
-    << solid f @{ 0.62 0.62 0.62 0.8 }@ >> swap set-gadget-boundary ;
+    T{ solid f { 0.62 0.62 0.62 0.8 } } swap set-gadget-boundary ;
 
 : bevel-button-theme ( gadget -- )
     plain-gradient rollover-gradient pressed-gradient
@@ -58,29 +58,29 @@ USING: arrays gadgets kernel sequences styles ;
     f f pressed-gradient <button-paint> swap set-gadget-interior ;
 
 : caret-theme ( caret -- )
-    << solid f @{ 1.0 0.0 0.0 1.0 }@ >> swap set-gadget-interior ;
+    T{ solid f { 1.0 0.0 0.0 1.0 } } swap set-gadget-interior ;
 
 : elevator-theme ( elevator -- )
-    << gradient f @{
-        @{ 0.37 0.37 0.37 1.0 }@
-        @{ 0.43 0.43 0.43 1.0 }@
-        @{ 0.5 0.5 0.5 1.0 }@
-    }@ >> swap set-gadget-interior ;
+    T{ gradient f {
+        { 0.37 0.37 0.37 1.0 }
+        { 0.43 0.43 0.43 1.0 }
+        { 0.5 0.5 0.5 1.0 }
+    } } swap set-gadget-interior ;
 
 : reverse-video-theme ( gadget -- )
     solid-black swap set-gadget-interior ;
 
 : display-title-theme
-    << solid f @{ 0.84 0.9 1.0 1.0 }@ >> swap set-gadget-interior ;
+    T{ solid f { 0.84 0.9 1.0 1.0 } } swap set-gadget-interior ;
 
 : menu-theme ( menu -- )
     dup solid-boundary
-    << solid f @{ 0.9 0.9 0.9 0.9 }@ >> swap set-gadget-interior ;
+    T{ solid f { 0.9 0.9 0.9 0.9 } } swap set-gadget-interior ;
 
 : label-theme ( label -- )
-    @{ 0.0 0.0 0.0 1.0 }@ over set-label-color
-    @{ "Monospaced" plain 12 }@ swap set-label-font ;
+    { 0.0 0.0 0.0 1.0 } over set-label-color
+    { "Monospaced" plain 12 } swap set-label-font ;
 
 : editor-theme ( editor -- )
-    @{ 0.0 0.0 0.0 1.0 }@ over set-label-color
-    @{ "Monospaced" bold 12 }@ swap set-label-font ;
+    { 0.0 0.0 0.0 1.0 } over set-label-color
+    { "Monospaced" bold 12 } swap set-label-font ;
index 9dea09dcd99df35f3498b64a061d58ef07d3241d..7516dfd4416b75eb09c1622b7b957ee9dba40cfd 100644 (file)
@@ -15,7 +15,7 @@ global [ first-time on ] bind
         first-time get [
             <world> world set
             world get solid-interior
-            @{ 800 600 0 }@ world get set-gadget-dim
+            { 800 600 0 } world get set-gadget-dim
             <hand> hand set
             first-time off
         ] when
index ed161a9c42acaa5411f1843ae2a537afecd59fee..59f5943514963521027fd2ba80d4a0666386c115 100644 (file)
@@ -47,7 +47,7 @@ C: world ( -- world )
     dupd add-gadget prefer ;
 
 : world-clip ( -- )
-    @{ 0 0 0 }@ width get height get 0 3array <rect> clip set ;
+    { 0 0 0 } width get height get 0 3array <rect> clip set ;
 
 : draw-world ( -- )
     [ world-clip world get draw-gadget ] with-gl-surface ;
index 6bf63258b7b1fe5c0b0b4bb20b8f938f1aebf741..88166f243d245509a7f27f74b70159a6bb5815df 100644 (file)
@@ -321,9 +321,9 @@ USE: io
     #! Should only be called on startup. Calling this at any
     #! other time can have unintended consequences.
     global [
-        {{ }} clone read-tasks set
+        H{ } clone read-tasks set
         FD_SETSIZE <bit-array> read-fdset set
-        {{ }} clone write-tasks set
+        H{ } clone write-tasks set
         FD_SETSIZE <bit-array> write-fdset set
         0 1 t <fd-stream> stdio set
     ] bind ;
index 04f205ce595a317ff3956a8f2959bbb2ec3a3a75..0c8a0c54ac28ee1b9330c221dca1d6ffcfa1ab85 100644 (file)
@@ -41,7 +41,7 @@ SYMBOL: vocabularies
 
 : recrossref ( -- )
     #! Update word cross referencing information.
-    {{ }} clone crossref global set-hash
+    H{ } clone crossref global set-hash
     [ add-crossref ] each-word ;
 
 : lookup ( name vocab -- word ) vocab ?hash ;
index bbde9dfae8091738ccfc6660447316fda1a52cfa..11121f6ddc7254623230b1c0caacba8ff5d08104 100644 (file)
@@ -80,7 +80,7 @@ END-STRUCT
     "overlapped-ext" c-size malloc <alien> ;
 
 C: io-queue ( -- queue )
-    { } clone over set-io-queue-callbacks ;
+    V{ } clone over set-io-queue-callbacks ;
 
 C: io-callback ( -- callback )
     io-queue get io-queue-callbacks [ push ] 2keep
index 8bf3c46ce4974c122605f47c47b41ca5ed19be0e..cdbe276612638954b0195471b15cf54fcd492c45 100644 (file)
@@ -50,7 +50,7 @@ SYMBOL: crossref
 : usages ( word -- deps )
     #! List all usages of a word. This is a transitive closure,
     #! so indirect usages are reported.
-    crossref get dup [ closure ] [ 2drop @{ }@ ] if ;
+    crossref get dup [ closure ] [ 2drop { } ] if ;
 
 : usage ( word -- list )
     #! List all direct usages of a word.
@@ -109,13 +109,13 @@ M: compound definer drop \ : ;
     [ f swap set-word-prop ] each-with ;
 
 : reset-word ( word -- )
-    @{
+    {
         "parsing" "inline" "foldable" "flushable" "predicating"
         "documentation" "stack-effect"
-    }@ reset-props ;
+    } reset-props ;
 
 : reset-generic ( word -- )
-    dup reset-word @{ "methods" "combination" }@ reset-props ;
+    dup reset-word { "methods" "combination" } reset-props ;
 
 M: word literalize <wrapper> ;