]> gitweb.factorcode.org Git - factor.git/commitdiff
Eliminate duplicate syntax for stack effects "(" no longer drops and is identical...
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 18 Oct 2011 20:18:42 +0000 (13:18 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 18 Oct 2011 20:19:39 +0000 (13:19 -0700)
77 files changed:
basis/alien/enums/enums.factor
basis/alien/parser/parser-tests.factor
basis/alien/parser/parser.factor
basis/classes/struct/bit-accessors/bit-accessors-tests.factor
basis/cocoa/messages/messages.factor
basis/cocoa/subclassing/subclassing.factor
basis/compiler/tests/codegen.factor
basis/compiler/tests/redefine15.factor
basis/compiler/tree/propagation/call-effect/call-effect-tests.factor
basis/compiler/tree/propagation/call-effect/call-effect.factor
basis/compiler/tree/propagation/propagation-tests.factor
basis/core-foundation/strings/strings.factor
basis/eval/eval-docs.factor
basis/eval/eval.factor
basis/logging/logging.factor
basis/match/match.factor
basis/math/bitwise/bitwise.factor
basis/math/partial-dispatch/partial-dispatch.factor
basis/math/vectors/simd/simd-tests.factor
basis/memoize/memoize-tests.factor
basis/multiline/multiline.factor
basis/openssl/libssl/libssl.factor
basis/peg/ebnf/ebnf.factor
basis/peg/peg.factor
basis/regexp/compiler/compiler.factor
basis/regexp/regexp.factor
basis/stack-checker/branches/branches.factor
basis/stack-checker/known-words/known-words.factor
basis/tools/deploy/shaker/shaker.factor
basis/tools/profiler/profiler-tests.factor
basis/tr/tr.factor
basis/typed/typed-tests.factor
basis/ui/ui.factor
basis/values/values.factor
basis/windows/com/com-tests.factor
basis/windows/com/syntax/syntax.factor
basis/windows/com/wrapper/wrapper.factor
basis/xml/syntax/syntax.factor
core/bootstrap/primitives.factor
core/classes/classes.factor
core/classes/tuple/tuple-tests.factor
core/classes/tuple/tuple.factor
core/combinators/combinators-docs.factor
core/combinators/combinators-tests.factor
core/combinators/combinators.factor
core/compiler/units/units-tests.factor
core/continuations/continuations.factor
core/effects/effects-docs.factor
core/effects/effects-tests.factor
core/effects/effects.factor
core/effects/parser/parser-docs.factor
core/generic/math/math.factor
core/generic/parser/parser-tests.factor
core/parser/parser-tests.factor
core/parser/parser.factor
core/slots/slots.factor
core/source-files/errors/errors-tests.factor
core/syntax/syntax-docs.factor
core/syntax/syntax.factor
core/words/alias/alias-tests.factor
core/words/constant/constant.factor
core/words/symbol/symbol.factor
core/words/words-docs.factor
core/words/words-tests.factor
core/words/words.factor
extra/calendar/holidays/holidays.factor
extra/cpu/8080/emulator/emulator.factor
extra/cuda/libraries/libraries.factor
extra/graphviz/notation/notation.factor
extra/graphviz/render/render.factor
extra/html/elements/elements.factor
extra/mongodb/tuple/persistent/persistent.factor
extra/multi-methods/tests/definitions.factor
extra/project-euler/common/common.factor
extra/readline/readline.factor
extra/variables/variables.factor
unmaintained/ui/gadgets/layout/layout.factor

index 5634805f5d33e75bbd250b988b85da875c47a3ac..e049c9cf955c2713cc9ab6d3754d3558061e3ea5 100644 (file)
@@ -40,7 +40,7 @@ M: enum-c-type c-type-setter
 
 : define-enum-constructor ( word -- )
     [ name>> "<" ">" surround create-in ] keep
-    [ number>enum ] curry (( number -- enum )) define-inline ;
+    [ number>enum ] curry ( number -- enum ) define-inline ;
 
 PRIVATE>
 
index 17f417b48d7428c9b42916f30234edf1061c2966..2333eb3725bab842ffca1f65b32d258adb060f57 100644 (file)
@@ -38,7 +38,7 @@ CONSTANT: eleven 11
 
 FUNCTION: void* alien-parser-function-effect-test ( int *arg1 float arg2 ) ;
 
-[ (( arg1 arg2 -- void* )) ] [
+[ ( arg1 arg2 -- void* ) ] [
     \ alien-parser-function-effect-test "declared-effect" word-prop
 ] unit-test
 
@@ -46,7 +46,7 @@ FUNCTION: void* alien-parser-function-effect-test ( int *arg1 float arg2 ) ;
 
 FUNCTION-ALIAS: (alien-parser-function-effect-test) void* alien-parser-function-effect-test ( int *arg1 float arg2 ) ;
 
-[ (( arg1 arg2 -- void* )) ] [
+[ ( arg1 arg2 -- void* ) ] [
     \ (alien-parser-function-effect-test) "declared-effect" word-prop
 ] unit-test
 
@@ -54,7 +54,7 @@ FUNCTION-ALIAS: (alien-parser-function-effect-test) void* alien-parser-function-
 
 CALLBACK: void* alien-parser-callback-effect-test ( int *arg1 float arg2 ) ;
 
-[ (( arg1 arg2 -- void* )) ] [
+[ ( arg1 arg2 -- void* ) ] [
     \ alien-parser-callback-effect-test "callback-effect" word-prop
 ] unit-test
 
index a196e416de394f4dae2fa3c81b6646ebfef7b37e..63d0377e29d42e1d8b5c7c3aa260d4be244eefb9 100755 (executable)
@@ -155,7 +155,7 @@ PRIVATE>
     void* type-word typedef
     type-word names return function-effect "callback-effect" set-word-prop
     type-word lib "callback-library" set-word-prop
-    type-word return types lib library-abi callback-quot (( quot -- alien )) ;
+    type-word return types lib library-abi callback-quot ( quot -- alien ) ;
 
 : (CALLBACK:) ( -- word quot effect )
     current-library get
@@ -182,11 +182,11 @@ PREDICATE: alien-callback-type-word < typedef-word
     '[ _ _ address-of 0 _ set-alien-value ] ;
 
 : define-global-getter ( type word -- )
-    [ nip ] [ global-quot ] 2bi (( -- value )) define-declared ;
+    [ nip ] [ global-quot ] 2bi ( -- value ) define-declared ;
 
 : define-global-setter ( type word -- )
     [ nip name>> "set-" prepend create-in ]
-    [ set-global-quot ] 2bi (( obj -- )) define-declared ;
+    [ set-global-quot ] 2bi ( obj -- ) define-declared ;
 
 : define-global ( type word -- )
     [ define-global-getter ] [ define-global-setter ] 2bi ;
index ecf7b68a2d89fc25a048998299451679511823b5..44bc90b023042e0176de944c8635da98182626ab 100644 (file)
@@ -4,5 +4,5 @@ USING: classes.struct.bit-accessors tools.test effects kernel
 sequences random stack-checker ;
 IN: classes.struct.bit-accessors.test
 
-[ t ] [ 20 random 20 random bit-reader infer (( alien -- n )) effect= ] unit-test
-[ t ] [ 20 random 20 random bit-writer infer (( n alien -- )) effect= ] unit-test
+[ t ] [ 20 random 20 random bit-reader infer ( alien -- n ) effect= ] unit-test
+[ t ] [ 20 random 20 random bit-writer infer ( n alien -- ) effect= ] unit-test
index 21604c8df1c383751942901c658fc15b2c540570..8c2b045b715080de53223403af38ef357c955bb6 100644 (file)
@@ -231,7 +231,7 @@ ERROR: no-objc-type name ;
     [ class-init-hooks get set-at ]
     [
         [ "cocoa.classes" create ] [ '[ _ objc-class ] ] bi
-        (( -- class )) define-declared
+        ( -- class ) define-declared
     ] bi ;
 
 : import-objc-class ( name quot -- )
index 62916e45a19a212b3188da6dc4ebb18a5de5c34a..57e5bc7e2b527353e28916a58dc76de1963d601a 100644 (file)
@@ -43,7 +43,7 @@ IN: cocoa.subclassing
 : prepare-method ( ret types quot -- type imp )
     [ [ encode-types ] 2keep ] dip
     '[ _ _ cdecl _ alien-callback ]
-    (( -- callback )) define-temp ;
+    ( -- callback ) define-temp ;
 
 : prepare-methods ( methods -- methods )
     [
index f5555716f31d034ea1f492b07d66ac7a5b3c2bfe..3b4123aa2895b91eff0f1ba213906eb8cac8ef4b 100644 (file)
@@ -106,7 +106,7 @@ unit-test
 [ ] [
     [
         [ 200 dup [ 200 3array ] curry map drop ] times
-    ] [ (( n -- )) define-temp ] with-compilation-unit drop
+    ] [ ( n -- ) define-temp ] with-compilation-unit drop
 ] unit-test
 
 ! Test how dispatch handles the end of a basic block
index 54066c690d41f4c8244ef4df35ad0e4a39565e48..7e4d7f4b59310a709ef29e429488ef80003220af 100644 (file)
@@ -5,7 +5,7 @@ DEFER: word-1
 
 : word-2 ( a -- b ) word-1 ;
 
-[ \ word-1 [ ] (( a -- b )) define-declared ] with-compilation-unit 
+[ \ word-1 [ ] ( a -- b ) define-declared ] with-compilation-unit 
 
 [ "a" ] [ "a" word-2 ] unit-test
 
@@ -15,6 +15,6 @@ DEFER: word-1
 
 [ 1 1 ] [ 0 word-4 ] unit-test
 
-[ \ word-3 [ [ 2 + ] bi@ ] (( a b -- c d )) define-declared ] with-compilation-unit
+[ \ word-3 [ [ 2 + ] bi@ ] ( a b -- c d ) define-declared ] with-compilation-unit
 
 [ 2 3 ] [ 0 word-4 ] unit-test
index 03bf43418e6e5552126802c3e5cb32128fe91f4c..b61488bd38c54fe8018d036f65e95d69224330ce 100644 (file)
@@ -5,19 +5,19 @@ compiler.tree.builder compiler.tree.optimizer compiler.tree.debugger sequences
 eval combinators ;
 IN: compiler.tree.propagation.call-effect.tests
 
-[ t ] [ \ + (( a b -- c )) execute-effect-unsafe? ] unit-test
-[ t ] [ \ + (( a b c -- d e )) execute-effect-unsafe? ] unit-test
-[ f ] [ \ + (( a b c -- d )) execute-effect-unsafe? ] unit-test
-[ f ] [ \ call (( x -- )) execute-effect-unsafe? ] unit-test
-
-[ t ] [ [ + ] cached-effect (( a b -- c )) effect= ] unit-test
-[ t ] [ 5 [ + ] curry cached-effect (( a -- c )) effect= ] unit-test
-[ t ] [ 5 [ ] curry cached-effect (( -- c )) effect= ] unit-test
-[ t ] [ [ dup ] [ drop ] compose cached-effect (( a -- b )) effect= ] unit-test
-[ t ] [ [ drop ] [ dup ] compose cached-effect (( a b -- c d )) effect= ] unit-test
-[ t ] [ [ 2drop ] [ dup ] compose cached-effect (( a b c -- d e )) effect= ] unit-test
-[ t ] [ [ 1 2 3 ] [ 2drop ] compose cached-effect (( -- a )) effect= ] unit-test
-[ t ] [ [ 1 2 ] [ 3drop ] compose cached-effect (( a -- )) effect= ] unit-test
+[ t ] [ \ + ( a b -- c ) execute-effect-unsafe? ] unit-test
+[ t ] [ \ + ( a b c -- d e ) execute-effect-unsafe? ] unit-test
+[ f ] [ \ + ( a b c -- d ) execute-effect-unsafe? ] unit-test
+[ f ] [ \ call ( x -- ) execute-effect-unsafe? ] unit-test
+
+[ t ] [ [ + ] cached-effect ( a b -- c ) effect= ] unit-test
+[ t ] [ 5 [ + ] curry cached-effect ( a -- c ) effect= ] unit-test
+[ t ] [ 5 [ ] curry cached-effect ( -- c ) effect= ] unit-test
+[ t ] [ [ dup ] [ drop ] compose cached-effect ( a -- b ) effect= ] unit-test
+[ t ] [ [ drop ] [ dup ] compose cached-effect ( a b -- c d ) effect= ] unit-test
+[ t ] [ [ 2drop ] [ dup ] compose cached-effect ( a b c -- d e ) effect= ] unit-test
+[ t ] [ [ 1 2 3 ] [ 2drop ] compose cached-effect ( -- a ) effect= ] unit-test
+[ t ] [ [ 1 2 ] [ 3drop ] compose cached-effect ( a -- ) effect= ] unit-test
 
 : optimized-quot ( quot -- quot' )
     build-tree optimize-tree nodes>quot ;
@@ -44,11 +44,11 @@ IN: compiler.tree.propagation.call-effect.tests
 [ 3 ] [ 1 2 '[ _ + ] call( a -- b ) ] unit-test
 [ 3 ] [ 1 2 '[ _ ] [ + ] compose call( a -- b ) ] unit-test
 
-[ t ] [ [ 2 '[ _ ] [ + ] compose ] final-info first infer-value (( object -- object )) effect= ] unit-test
-[ t ] [ [ 2 '[ _ ] 1 '[ _ + ] compose ] final-info first infer-value (( -- object )) effect= ] unit-test
-[ t ] [ [ 2 '[ _ + ] ] final-info first infer-value (( object -- object )) effect= ] unit-test
+[ t ] [ [ 2 '[ _ ] [ + ] compose ] final-info first infer-value ( object -- object ) effect= ] unit-test
+[ t ] [ [ 2 '[ _ ] 1 '[ _ + ] compose ] final-info first infer-value ( -- object ) effect= ] unit-test
+[ t ] [ [ 2 '[ _ + ] ] final-info first infer-value ( object -- object ) effect= ] unit-test
 [ f ] [ [ [ [ ] [ 1 ] if ] ] final-info first infer-value ] unit-test
-[ t ] [ [ [ 1 ] '[ @ ] ] final-info first infer-value (( -- object )) effect= ] unit-test
+[ t ] [ [ [ 1 ] '[ @ ] ] final-info first infer-value ( -- object ) effect= ] unit-test
 [ f ] [ [ dup drop ] final-info first infer-value ] unit-test
 
 ! This should not hang
@@ -66,11 +66,11 @@ TUPLE: a-tuple x ;
 
 : test-quotatation ( -- quot ) [ call(-redefine-test ] ;
 
-[ t ] [ test-quotatation cached-effect (( a -- b )) effect<= ] unit-test
+[ t ] [ test-quotatation cached-effect ( a -- b ) effect<= ] unit-test
 
 [ ] [ "IN: compiler.tree.propagation.call-effect.tests USE: math : call(-redefine-test ( a b -- c ) + ;" eval( -- ) ] unit-test
 
-[ t ] [ test-quotatation cached-effect (( a b -- c )) effect<= ] unit-test
+[ t ] [ test-quotatation cached-effect ( a b -- c ) effect<= ] unit-test
 
 : inline-cache-invalidation-test ( a b c -- c ) call( a b -- c ) ;
 
@@ -78,7 +78,7 @@ TUPLE: a-tuple x ;
 
 [ ] [ "IN: compiler.tree.propagation.call-effect.tests USE: math : call(-redefine-test ( a -- c ) 1 + ;" eval( -- ) ] unit-test
 
-[ 1 3 test-quotatation inline-cache-invalidation-test ] [ T{ wrong-values f [ call(-redefine-test ] (( a b -- c )) } = ] must-fail-with
+[ 1 3 test-quotatation inline-cache-invalidation-test ] [ T{ wrong-values f [ call(-redefine-test ] ( a b -- c ) } = ] must-fail-with
 
 ! See if redefining a tuple class bumps effect counter
 TUPLE: my-tuple a b c ;
index d55769c17bc326f5c6c52189cd0ae6513637ad1d..dee4605a3529a7acb663d4c9eb0728cb89fea78a 100644 (file)
@@ -167,7 +167,7 @@ M: quotation add-quot-to-history add-to-history ;
 ERROR: uninferable ;
 
 : remove-effect-input ( effect -- effect' )
-    (( -- object )) swap compose-effects ;
+    ( -- object ) swap compose-effects ;
 
 : (infer-value) ( value-info -- effect )
     dup literal?>> [
index 35c6ef8d2aa8b1d0c9af2392951c41304ab25625..55d13da3fa9c33613137643feb1be7e9a49b40ed 100644 (file)
@@ -899,7 +899,7 @@ SYMBOL: not-an-assoc
 [ f ] [ [ 5 instance? ] { instance? } inlined? ] unit-test
 [ t ] [ [ array instance? ] { instance? } inlined? ] unit-test
 
-[ t ] [ [ (( a b c -- c b a )) shuffle ] { shuffle } inlined? ] unit-test
+[ t ] [ [ ( a b c -- c b a ) shuffle ] { shuffle } inlined? ] unit-test
 [ f ] [ [ { 1 2 3 } swap shuffle ] { shuffle } inlined? ] unit-test
 
 ! Type function for 'clone' had a subtle issue
index 25cd16485b77001347212a510a15c418478223af..75e56dff4f35fad4f8fac57938cac4aa66acebd2 100644 (file)
@@ -99,4 +99,4 @@ FUNCTION: CFStringRef CFCopyTypeIDDescription ( CFTypeID type_id ) ;
 SYNTAX: CFSTRING: 
     scan-new-word scan-object 
     [ drop ] [ '[ _ [ _ <CFString> ] initialize-alien ] ] 2bi
-    (( -- alien )) define-declared ;
+    ( -- alien ) define-declared ;
index e7e3c023030fb909f25becc62f0ef1a17aacbfb0..5ff68665dbc25a54e5a0092157bc6166d39b1165 100644 (file)
@@ -21,7 +21,7 @@ HELP: eval(
     "This parsing word is just a slightly nicer syntax for " { $link eval } ". The following are equivalent:"
     { $code
         "eval( inputs -- outputs )"
-        "(( inputs -- outputs )) eval"
+        "( inputs -- outputs ) eval"
     }
 }
 { $errors "Throws an error if the input is malformed, or if the evaluation itself throws an error." } ;
@@ -51,7 +51,7 @@ $nl
     """USING: eval listener vocabs.parser ;
 [
     "cad.objects" use-vocab
-    (( -- seq )) (eval)
+    ( -- seq ) (eval)
 ] with-interactive-vocabs"""
 }
 "Note that the search path in the outer code (set by the " { $link POSTPONE: USING: } " form) has no relation to the search path used when parsing the string parameter (this is determined by " { $link with-interactive-vocabs } " and " { $link use-vocab } ")." ;
index a4b5638c02172a12dd8dff12eeacab4208dc6394..eb551b1f2a5a39b6c061c3f13ca80fdf350ccd54 100644 (file)
@@ -19,7 +19,7 @@ SYNTAX: eval( \ eval parse-call( ;
 : (eval>string) ( str -- output )
     [
         parser-quiet? on
-        '[ _ (( -- )) (eval) ] [ print-error ] recover
+        '[ _ ( -- ) (eval) ] [ print-error ] recover
     ] with-string-writer ;
 
 : eval>string ( str -- output )
index ddcde5a1ac2b72e1a8569f12e5b3ed40f572248b..e3befe8d3c9566746660270aeeb68cf5fe1428c7 100644 (file)
@@ -140,7 +140,7 @@ SYNTAX: LOG:
     #! Syntax: name level\r
     scan-new-word dup scan-word\r
     '[ 1array stack>message _ _ log-message ]\r
-    (( message -- )) define-declared ;\r
+    ( message -- ) define-declared ;\r
 \r
 USE: vocabs.loader\r
 \r
index 9baadfe1f265a1113c620aefe5cb7adcae1cfc0f..ca8e8163a41141dfab823e85c9134cefdeb37059 100644 (file)
@@ -11,7 +11,7 @@ SYMBOL: _
 : define-match-var ( name -- )
     create-in
     dup t "match-var" set-word-prop
-    dup [ get ] curry (( -- value )) define-declared ;
+    dup [ get ] curry ( -- value ) define-declared ;
 
 : define-match-vars ( seq -- )
     [ define-match-var ] each ;
index 509d1d3ca0e651e47203e82bafde87b811b95dfa..8e96cd5e4f0b61e75efc8f41eb2194e337463b6a 100644 (file)
@@ -77,7 +77,7 @@ DEFER: byte-bit-count
 256 iota [
     8 <bits> 0 [ [ 1 + ] when ] reduce
 ] B{ } map-as '[ HEX: ff bitand _ nth-unsafe ]
-(( byte -- table )) define-declared
+( byte -- table ) define-declared
 
 \ byte-bit-count make-inline
 
index 2f928dcbe37b77825143f03331dd29ae4e3cdf38..fcb789687e8d00d3b43f3a0cbb8c4cf25ce64c48 100644 (file)
@@ -95,7 +95,7 @@ M: word integer-op-input-classes
 : define-integer-op-word ( fix-word big-word triple -- )
     [
         [ 2nip integer-op-word dup make-foldable ] [ integer-op-quot ] 3bi
-        (( x y -- z )) define-declared
+        ( x y -- z ) define-declared
     ] [
         2nip
         [ integer-op-word ] keep
index 5a0a98107cfa2baa76b9cc883d52449aaf29ccd6..3b9e4ffc671cd5c99e154cb9682fb4950c7e73d1 100644 (file)
@@ -334,11 +334,11 @@ simd-classes&reps [
 
 ! Invalid inputs should not cause the compiler to throw errors
 [ ] [
-    [ [ { int-4 } declare t hrshift ] (( a -- b )) define-temp drop ] with-compilation-unit
+    [ [ { int-4 } declare t hrshift ] ( a -- b ) define-temp drop ] with-compilation-unit
 ] unit-test
 
 [ ] [
-    [ [ { int-4 } declare { 3 2 1 } vshuffle ] (( a -- b )) define-temp drop ] with-compilation-unit
+    [ [ { int-4 } declare { 3 2 1 } vshuffle ] ( a -- b ) define-temp drop ] with-compilation-unit
 ] unit-test
 
 ! Shuffles
index 11dfd705c2a7e173367cde954b586284e1f6e407..e89685263df3482bcb9e7d112ee9a17c49b42057 100644 (file)
@@ -30,6 +30,6 @@ unit-test
 
 [ "IN: memoize.tests\n: fib ( -- ) ;\n" ] [ [ \ fib see ] with-string-writer ] unit-test
 
-[ sq ] (( a -- b )) memoize-quot "q" set
+[ sq ] ( a -- b ) memoize-quot "q" set
 
 [ 9 ] [ 3 "q" get call ] unit-test
index 51efecc9cd9e9498c19869175749ff8b6a0858a0..070b1da03266aadab73fab954dd1163619fb4085 100644 (file)
@@ -34,7 +34,7 @@ ERROR: text-found-before-eol string ;
 SYNTAX: STRING:
     scan-new-word
     parse-here 1quotation
-    (( -- string )) define-inline ;
+    ( -- string ) define-inline ;
 
 <PRIVATE
 
index ef46a0e851f1f228fb664798673c9a173aa44848..29f82977e0a3d5e83901d4c52d7e17887b638875 100644 (file)
@@ -282,7 +282,7 @@ H{ } clone verify-messages set-global
 SYNTAX: X509_V_:
     scan-token "X509_V_" prepend create-in
     scan-number
-    [ 1quotation (( -- value )) define-inline ]
+    [ 1quotation ( -- value ) define-inline ]
     [ verify-messages get set-at ]
     2bi ;
 
index 2c0e97f1d122ed1e1860edb302fee6b77983e89d..ea4222f7aad309e939397fe4de7a90bd8d1af2b2 100644 (file)
@@ -492,8 +492,8 @@ ERROR: bad-effect quot effect ;
 \r
 : check-action-effect ( quot -- quot )\r
   dup infer {\r
-    { [ dup (( a -- b )) effect<= ] [ drop ] }\r
-    { [ dup (( -- b )) effect<= ] [ drop [ drop ] prepose ] }\r
+    { [ dup ( a -- b ) effect<= ] [ drop ] }\r
+    { [ dup ( -- b ) effect<= ] [ drop [ drop ] prepose ] }\r
     [ bad-effect ]\r
   } cond ;\r
 \r
@@ -572,5 +572,5 @@ SYNTAX: [EBNF
 SYNTAX: EBNF: \r
   reset-tokenizer scan-new-word dup ";EBNF" parse-multiline-string  \r
   ebnf>quot swapd\r
-  (( input -- ast )) define-declared "ebnf-parser" set-word-prop \r
+  ( input -- ast ) define-declared "ebnf-parser" set-word-prop \r
   reset-tokenizer ;\r
index 4511c9d235ec8442c3caa8ac3f2c445847d9c0d7..2714e8e56f2676656ac0cd763cc89f5ae239fb43 100644 (file)
@@ -270,7 +270,7 @@ GENERIC: (compile) ( peg -- quot )
 : define-parser-word ( parser word -- )
   #! Return the body of the word that is the compiled version
   #! of the parser.
-  2dup swap peg>> (compile) (( -- result )) define-declared
+  2dup swap peg>> (compile) ( -- result ) define-declared
   swap id>> "peg-id" set-word-prop ;
 
 : compile-parser ( parser -- word )
@@ -295,13 +295,13 @@ SYMBOL: delayed
   #! Work through all delayed parsers and recompile their
   #! words to have the correct bodies.
   delayed get [
-    call( -- parser ) compile-parser-quot (( -- result )) define-declared
+    call( -- parser ) compile-parser-quot ( -- result ) define-declared
   ] assoc-each ;
 
 : compile ( parser -- word )
   [
     H{ } clone delayed [ 
-      compile-parser-quot (( -- result )) define-temp fixup-delayed 
+      compile-parser-quot ( -- result ) define-temp fixup-delayed 
     ] with-variable
   ] with-compilation-unit ;
 
index 0682cc4f56dbdafb371b96013e8399d47050f7cf..a8b3c9168b1dec6e4381ae9fe1038d9ee2342532 100644 (file)
@@ -112,7 +112,7 @@ C: <box> box
 : states>code ( words dfa -- )
     '[
         dup _ word>quot
-        (( last-match index string -- ? ))
+        ( last-match index string -- ? )
         define-declared
     ] each ;
 
@@ -132,7 +132,7 @@ PRIVATE>
 
 : dfa>word ( dfa -- quot )
     dfa>main-word execution-quot word-template
-    (( start-index string regexp -- i/f )) define-temp ;
+    ( start-index string regexp -- i/f ) define-temp ;
 
 : dfa>shortest-word ( dfa -- word )
     t shortest? [ dfa>word ] with-variable ;
index de0c1a03a7afdb867d2ea3d3fe145a184006c1ec..6ad6060dcf38dcf1dab23b344357c9c42e012ded 100644 (file)
@@ -167,7 +167,7 @@ DEFER: compile-next-match
         dup \ next-initial-word = [
             drop _ [ compile-regexp dfa>> def>> ] [ reverse-regexp? ] bi
             '[ { array-capacity string regexp } declare _ _ next-match ]
-            (( i string regexp -- start end string )) define-temp
+            ( i string regexp -- start end string ) define-temp
         ] when
     ] change-next-match ;
 
index 77e983eefbd00c240936d1cf93a3ef0113514890..00f2773b38a8203ada69141675180ccb227c5d95 100644 (file)
@@ -47,7 +47,7 @@ SYMBOLS: +bottom+ +top+ ;
 SYMBOLS: combinator quotations ;
 
 : simple-unbalanced-branches-error ( word quots branches -- * )
-    [ length [ (( ..a -- ..b )) ] replicate ]
+    [ length [ ( ..a -- ..b ) ] replicate ]
     [ [ length [ "x" <array> ] bi@ <effect> ] { } assoc>map ] bi
     unbalanced-branches-error ;
 
@@ -128,8 +128,8 @@ M: declared-effect curried/composed? known>> curried/composed? ;
 
 : declare-if-effects ( -- )
     H{ } clone V{ } clone
-    [ [ \ if (( ..a -- ..b )) ] 2dip 0 declare-effect-d ]
-    [ [ \ if (( ..a -- ..b )) ] 2dip 1 declare-effect-d ] 2bi ;
+    [ [ \ if ( ..a -- ..b ) ] 2dip 0 declare-effect-d ]
+    [ [ \ if ( ..a -- ..b ) ] 2dip 1 declare-effect-d ] 2bi ;
 
 : infer-if ( -- )
     \ if combinator set
index 11657af4587a6a0d098c8e35678616f922e07442..6d62c9fc74a4ab9d365d15d7bb1a9149ab15cdfd 100644 (file)
@@ -41,10 +41,10 @@ IN: stack-checker.known-words
     "shuffle" word-prop infer-shuffle ;
 
 : infer-local-reader ( word -- )
-    (( -- value )) apply-word/effect ;
+    ( -- value ) apply-word/effect ;
 
 : infer-local-writer ( word -- )
-    (( value -- )) apply-word/effect ;
+    ( value -- ) apply-word/effect ;
 
 : non-inline-word ( word -- )
     dup depends-on-effect
@@ -61,21 +61,21 @@ IN: stack-checker.known-words
     } cond ;
 
 {
-    { drop  (( x     --             )) }
-    { 2drop (( x y   --             )) }
-    { 3drop (( x y z --             )) }
-    { dup   (( x     -- x x         )) }
-    { 2dup  (( x y   -- x y x y     )) }
-    { 3dup  (( x y z -- x y z x y z )) }
-    { rot   (( x y z -- y z x       )) }
-    { -rot  (( x y z -- z x y       )) }
-    { dupd  (( x y   -- x x y       )) }
-    { swapd (( x y z -- y x z       )) }
-    { nip   (( x y   -- y           )) }
-    { 2nip  (( x y z -- z           )) }
-    { over  (( x y   -- x y x       )) }
-    { pick  (( x y z -- x y z x     )) }
-    { swap  (( x y   -- y x         )) }
+    { drop  ( x     --             ) }
+    { 2drop ( x y   --             ) }
+    { 3drop ( x y z --             ) }
+    { dup   ( x     -- x x         ) }
+    { 2dup  ( x y   -- x y x y     ) }
+    { 3dup  ( x y z -- x y z x y z ) }
+    { rot   ( x y z -- y z x       ) }
+    { -rot  ( x y z -- z x y       ) }
+    { dupd  ( x y   -- x x y       ) }
+    { swapd ( x y z -- y x z       ) }
+    { nip   ( x y   -- y           ) }
+    { 2nip  ( x y z -- z           ) }
+    { over  ( x y   -- x y x       ) }
+    { pick  ( x y z -- x y z x     ) }
+    { swap  ( x y   -- y x         ) }
 } [ "shuffle" set-word-prop ] assoc-each
 
 : check-declaration ( declaration -- declaration )
index 0f838926e0c56211acd42d1d797dfb50c50cf0dc..72a2c4b881a96e0b67f28b4824d27c68fb8ef537 100755 (executable)
@@ -285,7 +285,7 @@ IN: tools.deploy.shaker
     recursive-subst ;
 
 : new-default-method ( -- gensym )
-    [ [ "No method" throw ] (( -- * )) define-temp ] with-compilation-unit ;
+    [ [ "No method" throw ] ( -- * ) define-temp ] with-compilation-unit ;
 
 : strip-default-methods ( -- )
     ! In a development image, each generic has its own default method.
@@ -569,11 +569,11 @@ SYMBOL: deploy-vocab
 
 : die-with ( error original-error -- * )
     #! We don't want DCE to drop the error before the die call!
-    [ die 1 exit ] (( a -- * )) call-effect-unsafe ;
+    [ die 1 exit ] ( a -- * ) call-effect-unsafe ;
 
 : die-with2 ( error original-error -- * )
     #! We don't want DCE to drop the error before the die call!
-    [ die 1 exit ] (( a b -- * )) call-effect-unsafe ;
+    [ die 1 exit ] ( a b -- * ) call-effect-unsafe ;
 
 : deploy-error-handler ( quot -- )
     [
index b02b800463f2b94a5044dc6d0e83a1834793e32e..68b26420d0c3e6e6728c86584877167bad35b504 100644 (file)
@@ -67,7 +67,7 @@ IN: tools.profiler.tests
 
 [ 1 ] [
     [
-        [ [ ] (( -- )) define-temp ] with-compilation-unit
+        [ [ ] ( -- ) define-temp ] with-compilation-unit
         dup execute( -- )
     ] profile
     counter>>
index c7a21c3cb201c38a4f384cf1a36fd8d45ed1415f..7c3cc9e054b0f365cf6d1953018a6358686e02b7 100644 (file)
@@ -30,13 +30,13 @@ M: bad-tr summary
     '[ [ dup ascii? [ _ tr-nth ] when ] map ] ;
 
 : define-tr ( word mapping -- )
-    tr-quot (( seq -- translated )) define-declared ;
+    tr-quot ( seq -- translated ) define-declared ;
 
 : fast-tr-quot ( mapping -- quot )
     '[ [ _ tr-nth ] map! drop ] ;
 
 : define-fast-tr ( word mapping -- )
-    fast-tr-quot (( seq -- )) define-declared ;
+    fast-tr-quot ( seq -- ) define-declared ;
 
 PRIVATE>
 
index 70edcf2334c383fde7c868419b09f731312573d3..6e4b892b8183a22607b6e599b638f606fe45a73e 100644 (file)
@@ -52,7 +52,7 @@ TUPLE: unboxable2
 TYPED: unboxy ( in: unboxable -- out: unboxable2 )
     dup [ x>> ] [ y>> ] bi - unboxable2 boa ;
 
-[ (( in: fixnum in: fixnum -- out: fixnum out: fixnum out: fixnum )) ]
+[ ( in: fixnum in: fixnum -- out: fixnum out: fixnum out: fixnum ) ]
 [ \ unboxy "typed-word" word-prop stack-effect ] unit-test
 
 [ T{ unboxable2 { u T{ unboxable { x 12 } { y 3 } } } { xy 9 } } ]
index 7a7868149d6c5a77497df4f778e6c8ab06c41bb8..4917b3697b6600ee1b42079e64aaee9c3bed8d6d 100644 (file)
@@ -222,7 +222,7 @@ HOOK: system-alert ui-backend ( caption text -- )
 
 : define-main-window ( word attributes quot -- )
     [
-        '[ [ f _ clone @ open-window ] with-ui ] (( -- )) define-declared
+        '[ [ f _ clone @ open-window ] with-ui ] ( -- ) define-declared
     ] [ 2drop current-vocab main<< ] 3bi ;
 
 SYNTAX: MAIN-WINDOW:
index 0189742ad476b2b99e3d21e365ac8d59f665011b..83003a1776ca9ef5e3e2bdf38895301b8cd7f5a2 100644 (file)
@@ -34,7 +34,7 @@ SYNTAX: VALUE:
     scan-new-word
     dup t "no-def-strip" set-word-prop
     T{ value-holder } clone [ obj>> ] curry
-    (( -- value )) define-declared ;
+    ( -- value ) define-declared ;
 
 M: value-word definer drop \ VALUE: f ;
 
index f11c930c856d744074ee28039b26879ca586eac7..43e99d739a327be46d038500e234d4bde4cbe0d5 100644 (file)
@@ -25,11 +25,11 @@ COM-INTERFACE: ISelfReferential IUnknown {d4f45bf8-f720-4701-a09d-e8e341981121}
 { GUID: {00000000-0000-0000-C000-000000000046} } [ IUnknown-iid ] unit-test
 { GUID: {b06ac3f4-30e4-406b-a7cd-c29cead4552c} } [ IUnrelated-iid ] unit-test
 
-{ (( -- iid )) } [ \ ISimple-iid stack-effect ] unit-test
-{ (( this -- HRESULT )) } [ \ ISimple::returnOK stack-effect ] unit-test
-{ (( this -- int )) } [ \ IInherited::getX stack-effect ] unit-test
-{ (( this newX -- )) } [ \ IInherited::setX stack-effect ] unit-test
-{ (( this mul add -- int )) } [ \ IUnrelated::xMulAdd stack-effect ] unit-test
+{ ( -- iid ) } [ \ ISimple-iid stack-effect ] unit-test
+{ ( this -- HRESULT ) } [ \ ISimple::returnOK stack-effect ] unit-test
+{ ( this -- int ) } [ \ IInherited::getX stack-effect ] unit-test
+{ ( this newX -- ) } [ \ IInherited::setX stack-effect ] unit-test
+{ ( this mul add -- int ) } [ \ IUnrelated::xMulAdd stack-effect ] unit-test
 
 SYMBOL: +test-wrapper+
 SYMBOL: +guinea-pig-implementation+
index 06e43b39f54e2e5e94516315485771b2c808162b..a19f15b4834372ba5ef3be49e0bc435fc8377e12 100755 (executable)
@@ -74,7 +74,7 @@ ERROR: no-com-interface interface ;
     define-declared ;
 
 : define-words-for-com-interface ( definition -- )
-    [ [ (iid-word) ] [ iid>> 1quotation ] bi (( -- iid )) define-declared ]
+    [ [ (iid-word) ] [ iid>> 1quotation ] bi ( -- iid ) define-declared ]
     [
         dup family-tree-functions
         [ (define-word-for-function) ] with each-index
index e4601a1de283065c63e4190cd3167d3e35606b4b..88c8d288590f2b53997475b05f5780fc2b49000a 100644 (file)
@@ -93,7 +93,7 @@ unless
 
 : compile-alien-callback ( word return parameters abi quot -- word )
     '[ _ _ _ _ alien-callback ]
-    [ [ (( -- alien )) define-declared ] pick [ call ] dip ]
+    [ [ ( -- alien ) define-declared ] pick [ call ] dip ]
     with-compilation-unit ;
 
 : (callback-word) ( function-name interface counter -- word )
index 9780869c0efddd321066c15aa829c44ef82fdb05..ca196ac7ad5d2ff9be3d84a635ed358c3e1023a7 100644 (file)
@@ -37,7 +37,7 @@ SYNTAX: TAG:
     scan-token scan-word parse-definition define-tag ;
 
 SYNTAX: XML-NS:
-    scan-new-word scan-token '[ f swap _ <name> ] (( string -- name )) define-memoized ;
+    scan-new-word scan-token '[ f swap _ <name> ] ( string -- name ) define-memoized ;
 
 <PRIVATE
 
index 264b6dd9c3d7faf538ea6a4e7327c697075ad4e8..036a34734f5cfb71f0748a8b2bca17c078fb1ddb 100755 (executable)
@@ -260,11 +260,11 @@ tuple
 
 "((empty))" "hashtables.private" create
 "tombstone" "hashtables.private" lookup f
-2array >tuple 1quotation (( -- value )) define-inline
+2array >tuple 1quotation ( -- value ) define-inline
 
 "((tombstone))" "hashtables.private" create
 "tombstone" "hashtables.private" lookup t
-2array >tuple 1quotation (( -- value )) define-inline
+2array >tuple 1quotation ( -- value ) define-inline
 
 ! Some tuple classes
 "curry" "kernel" create
@@ -287,7 +287,7 @@ tuple
         ] [ ] make
     ]
 } cleave
-(( obj quot -- curry )) define-declared
+( obj quot -- curry ) define-declared
 
 "compose" "kernel" create
 tuple
@@ -310,7 +310,7 @@ tuple
         ] [ ] make
     ]
 } cleave
-(( quot1 quot2 -- compose )) define-declared
+( quot1 quot2 -- compose ) define-declared
 
 ! Sub-primitive words
 : make-sub-primitive ( word vocab effect -- )
@@ -321,62 +321,62 @@ tuple
     ] dip define-declared ;
 
 {
-    { "mega-cache-lookup" "generic.single.private" (( methods index cache -- )) }
-    { "inline-cache-miss" "generic.single.private" (( generic methods index cache -- )) }
-    { "inline-cache-miss-tail" "generic.single.private" (( generic methods index cache -- )) }
-    { "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 )) }
-    { "over" "kernel" (( x y -- x y x )) }
-    { "pick" "kernel" (( x y z -- x y z x )) }
-    { "swap" "kernel" (( x y -- y x )) }
-    { "eq?" "kernel" (( obj1 obj2 -- ? )) }
-    { "tag" "kernel.private" (( object -- n )) }
-    { "(execute)" "kernel.private" (( word -- )) }
-    { "(call)" "kernel.private" (( quot -- )) }
-    { "fpu-state" "kernel.private" (( -- )) }
-    { "set-fpu-state" "kernel.private" (( -- )) }
-    { "unwind-native-frames" "kernel.private" (( -- )) }
-    { "set-callstack" "kernel.private" (( callstack -- * )) }
-    { "lazy-jit-compile" "kernel.private" (( -- )) }
-    { "c-to-factor" "kernel.private" (( -- )) }
-    { "slot" "slots.private" (( obj m -- value )) }
-    { "get-local" "locals.backend" (( n -- obj )) }
-    { "load-local" "locals.backend" (( obj -- )) }
-    { "drop-locals" "locals.backend" (( n -- )) }
-    { "both-fixnums?" "math.private" (( x y -- ? )) }
-    { "fixnum+fast" "math.private" (( x y -- z )) }
-    { "fixnum-fast" "math.private" (( x y -- z )) }
-    { "fixnum*fast" "math.private" (( x y -- z )) }
-    { "fixnum-bitand" "math.private" (( x y -- z )) }
-    { "fixnum-bitor" "math.private" (( x y -- z )) }
-    { "fixnum-bitxor" "math.private" (( x y -- z )) }
-    { "fixnum-bitnot" "math.private" (( x -- y )) }
-    { "fixnum-mod" "math.private" (( x y -- z )) }
-    { "fixnum-shift-fast" "math.private" (( x y -- z )) }
-    { "fixnum/i-fast" "math.private" (( x y -- z )) }
-    { "fixnum/mod-fast" "math.private" (( x y -- z w )) }
-    { "fixnum+" "math.private" (( x y -- z )) }
-    { "fixnum-" "math.private" (( x y -- z )) }
-    { "fixnum*" "math.private" (( x y -- z )) }
-    { "fixnum<" "math.private" (( x y -- ? )) }
-    { "fixnum<=" "math.private" (( x y -- z )) }
-    { "fixnum>" "math.private" (( x y -- ? )) }
-    { "fixnum>=" "math.private" (( x y -- ? )) }
-    { "string-nth-fast" "strings.private" (( n string -- ch )) }
-    { "(set-context)" "threads.private" (( obj context -- obj' )) }
-    { "(set-context-and-delete)" "threads.private" (( obj context -- * )) }
-    { "(start-context)" "threads.private" (( obj quot -- obj' )) }
-    { "(start-context-and-delete)" "threads.private" (( obj quot -- * )) }
+    { "mega-cache-lookup" "generic.single.private" ( methods index cache -- ) }
+    { "inline-cache-miss" "generic.single.private" ( generic methods index cache -- ) }
+    { "inline-cache-miss-tail" "generic.single.private" ( generic methods index cache -- ) }
+    { "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 ) }
+    { "over" "kernel" ( x y -- x y x ) }
+    { "pick" "kernel" ( x y z -- x y z x ) }
+    { "swap" "kernel" ( x y -- y x ) }
+    { "eq?" "kernel" ( obj1 obj2 -- ? ) }
+    { "tag" "kernel.private" ( object -- n ) }
+    { "(execute)" "kernel.private" ( word -- ) }
+    { "(call)" "kernel.private" ( quot -- ) }
+    { "fpu-state" "kernel.private" ( -- ) }
+    { "set-fpu-state" "kernel.private" ( -- ) }
+    { "unwind-native-frames" "kernel.private" ( -- ) }
+    { "set-callstack" "kernel.private" ( callstack -- * ) }
+    { "lazy-jit-compile" "kernel.private" ( -- ) }
+    { "c-to-factor" "kernel.private" ( -- ) }
+    { "slot" "slots.private" ( obj m -- value ) }
+    { "get-local" "locals.backend" ( n -- obj ) }
+    { "load-local" "locals.backend" ( obj -- ) }
+    { "drop-locals" "locals.backend" ( n -- ) }
+    { "both-fixnums?" "math.private" ( x y -- ? ) }
+    { "fixnum+fast" "math.private" ( x y -- z ) }
+    { "fixnum-fast" "math.private" ( x y -- z ) }
+    { "fixnum*fast" "math.private" ( x y -- z ) }
+    { "fixnum-bitand" "math.private" ( x y -- z ) }
+    { "fixnum-bitor" "math.private" ( x y -- z ) }
+    { "fixnum-bitxor" "math.private" ( x y -- z ) }
+    { "fixnum-bitnot" "math.private" ( x -- y ) }
+    { "fixnum-mod" "math.private" ( x y -- z ) }
+    { "fixnum-shift-fast" "math.private" ( x y -- z ) }
+    { "fixnum/i-fast" "math.private" ( x y -- z ) }
+    { "fixnum/mod-fast" "math.private" ( x y -- z w ) }
+    { "fixnum+" "math.private" ( x y -- z ) }
+    { "fixnum-" "math.private" ( x y -- z ) }
+    { "fixnum*" "math.private" ( x y -- z ) }
+    { "fixnum<" "math.private" ( x y -- ? ) }
+    { "fixnum<=" "math.private" ( x y -- z ) }
+    { "fixnum>" "math.private" ( x y -- ? ) }
+    { "fixnum>=" "math.private" ( x y -- ? ) }
+    { "string-nth-fast" "strings.private" ( n string -- ch ) }
+    { "(set-context)" "threads.private" ( obj context -- obj' ) }
+    { "(set-context-and-delete)" "threads.private" ( obj context -- * ) }
+    { "(start-context)" "threads.private" ( obj quot -- obj' ) }
+    { "(start-context-and-delete)" "threads.private" ( obj quot -- * ) }
 } [ first3 make-sub-primitive ] each
 
 ! Primitive words
@@ -391,165 +391,165 @@ tuple
     ] dip define-declared ;
 
 {
-    { "<callback>" "alien" "primitive_callback" (( return-rewind word -- alien )) }
-    { "<displaced-alien>" "alien" "primitive_displaced_alien" (( displacement c-ptr -- alien )) }
-    { "alien-address" "alien" "primitive_alien_address" (( c-ptr -- addr )) }
-    { "alien-cell" "alien.accessors" "primitive_alien_cell" (( c-ptr n -- value )) }
-    { "alien-double" "alien.accessors" "primitive_alien_double" (( c-ptr n -- value )) }
-    { "alien-float" "alien.accessors" "primitive_alien_float" (( c-ptr n -- value )) }
-    { "alien-signed-1" "alien.accessors" "primitive_alien_signed_1" (( c-ptr n -- value )) }
-    { "alien-signed-2" "alien.accessors" "primitive_alien_signed_2" (( c-ptr n -- value )) }
-    { "alien-signed-4" "alien.accessors" "primitive_alien_signed_4" (( c-ptr n -- value )) }
-    { "alien-signed-8" "alien.accessors" "primitive_alien_signed_8" (( c-ptr n -- value )) }
-    { "alien-signed-cell" "alien.accessors" "primitive_alien_signed_cell" (( c-ptr n -- value )) }
-    { "alien-unsigned-1" "alien.accessors" "primitive_alien_unsigned_1" (( c-ptr n -- value )) }
-    { "alien-unsigned-2" "alien.accessors" "primitive_alien_unsigned_2" (( c-ptr n -- value )) }
-    { "alien-unsigned-4" "alien.accessors" "primitive_alien_unsigned_4" (( c-ptr n -- value )) }
-    { "alien-unsigned-8" "alien.accessors" "primitive_alien_unsigned_8" (( c-ptr n -- value )) }
-    { "alien-unsigned-cell" "alien.accessors" "primitive_alien_unsigned_cell" (( c-ptr n -- value )) }
-    { "set-alien-cell" "alien.accessors" "primitive_set_alien_cell" (( value c-ptr n -- )) }
-    { "set-alien-double" "alien.accessors" "primitive_set_alien_double" (( value c-ptr n -- )) }
-    { "set-alien-float" "alien.accessors" "primitive_set_alien_float" (( value c-ptr n -- )) }
-    { "set-alien-signed-1" "alien.accessors" "primitive_set_alien_signed_1" (( value c-ptr n -- )) }
-    { "set-alien-signed-2" "alien.accessors" "primitive_set_alien_signed_2" (( value c-ptr n -- )) }
-    { "set-alien-signed-4" "alien.accessors" "primitive_set_alien_signed_4" (( value c-ptr n -- )) }
-    { "set-alien-signed-8" "alien.accessors" "primitive_set_alien_signed_8" (( value c-ptr n -- )) }
-    { "set-alien-signed-cell" "alien.accessors" "primitive_set_alien_signed_cell" (( value c-ptr n -- )) }
-    { "set-alien-unsigned-1" "alien.accessors" "primitive_set_alien_unsigned_1" (( value c-ptr n -- )) }
-    { "set-alien-unsigned-2" "alien.accessors" "primitive_set_alien_unsigned_2" (( value c-ptr n -- )) }
-    { "set-alien-unsigned-4" "alien.accessors" "primitive_set_alien_unsigned_4" (( value c-ptr n -- )) }
-    { "set-alien-unsigned-8" "alien.accessors" "primitive_set_alien_unsigned_8" (( value c-ptr n -- )) }
-    { "set-alien-unsigned-cell" "alien.accessors" "primitive_set_alien_unsigned_cell" (( value c-ptr n -- )) }
-    { "(dlopen)" "alien.libraries" "primitive_dlopen" (( path -- dll )) }
-    { "(dlsym)" "alien.libraries" "primitive_dlsym" (( name dll -- alien )) }
-    { "(dlsym-raw)" "alien.libraries" "primitive_dlsym_raw" (( name dll -- alien )) }
-    { "dlclose" "alien.libraries" "primitive_dlclose" (( dll -- )) }
-    { "dll-valid?" "alien.libraries" "primitive_dll_validp" (( dll -- ? )) }
-    { "current-callback" "alien.private" "primitive_current_callback" (( -- n )) }
-    { "<array>" "arrays" "primitive_array" (( n elt -- array )) }
-    { "resize-array" "arrays" "primitive_resize_array" (( n array -- new-array )) }
-    { "(byte-array)" "byte-arrays" "primitive_uninitialized_byte_array" (( n -- byte-array )) }
-    { "<byte-array>" "byte-arrays" "primitive_byte_array" (( n -- byte-array )) }
-    { "resize-byte-array" "byte-arrays" "primitive_resize_byte_array" (( n byte-array -- new-byte-array )) }
-    { "<tuple-boa>" "classes.tuple.private" "primitive_tuple_boa" (( slots... layout -- tuple )) }
-    { "<tuple>" "classes.tuple.private" "primitive_tuple" (( layout -- tuple )) }
-    { "modify-code-heap" "compiler.units" "primitive_modify_code_heap" (( alist update-existing? reset-pics? -- )) }
-    { "lookup-method" "generic.single.private" "primitive_lookup_method" (( object methods -- method )) }
-    { "mega-cache-miss" "generic.single.private" "primitive_mega_cache_miss" (( methods index cache -- method )) }
-    { "(exists?)" "io.files.private" "primitive_existsp" (( path -- ? )) }
-    { "(fopen)" "io.streams.c" "primitive_fopen" (( path mode -- alien )) }
-    { "fclose" "io.streams.c" "primitive_fclose" (( alien -- )) }
-    { "fflush" "io.streams.c" "primitive_fflush" (( alien -- )) }
-    { "fgetc" "io.streams.c" "primitive_fgetc" (( alien -- byte/f )) }
-    { "fputc" "io.streams.c" "primitive_fputc" (( byte alien -- )) }
-    { "fread-unsafe" "io.streams.c" "primitive_fread" (( n buf alien -- count )) }
-    { "fseek" "io.streams.c" "primitive_fseek" (( alien offset whence -- )) }
-    { "ftell" "io.streams.c" "primitive_ftell" (( alien -- n )) }
-    { "fwrite" "io.streams.c" "primitive_fwrite" (( data length alien -- )) }
-    { "(clone)" "kernel" "primitive_clone" (( obj -- newobj )) }
-    { "<wrapper>" "kernel" "primitive_wrapper" (( obj -- wrapper )) }
-    { "callstack" "kernel" "primitive_callstack" (( -- callstack )) }
-    { "callstack>array" "kernel" "primitive_callstack_to_array" (( callstack -- array )) }
-    { "datastack" "kernel" "primitive_datastack" (( -- array )) }
-    { "die" "kernel" "primitive_die" (( -- )) }
-    { "retainstack" "kernel" "primitive_retainstack" (( -- array )) }
-    { "(identity-hashcode)" "kernel.private" "primitive_identity_hashcode" (( obj -- code )) }
-    { "become" "kernel.private" "primitive_become" (( old new -- )) }
-    { "callstack-bounds" "kernel.private" "primitive_callstack_bounds" (( -- start end )) }
-    { "check-datastack" "kernel.private" "primitive_check_datastack" (( array in# out# -- ? )) }
-    { "compute-identity-hashcode" "kernel.private" "primitive_compute_identity_hashcode" (( obj -- )) }
-    { "context-object" "kernel.private" "primitive_context_object" (( n -- obj )) }
-    { "innermost-frame-executing" "kernel.private" "primitive_innermost_stack_frame_executing" (( callstack -- obj )) }
-    { "innermost-frame-scan" "kernel.private" "primitive_innermost_stack_frame_scan" (( callstack -- n )) }
-    { "set-context-object" "kernel.private" "primitive_set_context_object" (( obj n -- )) }
-    { "set-datastack" "kernel.private" "primitive_set_datastack" (( array -- )) }
-    { "set-innermost-frame-quot" "kernel.private" "primitive_set_innermost_stack_frame_quot" (( n callstack -- )) }
-    { "set-retainstack" "kernel.private" "primitive_set_retainstack" (( array -- )) }
-    { "set-special-object" "kernel.private" "primitive_set_special_object" (( obj n -- )) }
-    { "special-object" "kernel.private" "primitive_special_object" (( n -- obj )) }
-    { "strip-stack-traces" "kernel.private" "primitive_strip_stack_traces" (( -- )) }
-    { "unimplemented" "kernel.private" "primitive_unimplemented" (( -- * )) }
-    { "load-locals" "locals.backend" "primitive_load_locals" (( ... n -- )) }
-    { "bits>double" "math" "primitive_bits_double" (( n -- x )) }
-    { "bits>float" "math" "primitive_bits_float" (( n -- x )) }
-    { "double>bits" "math" "primitive_double_bits" (( x -- n )) }
-    { "float>bits" "math" "primitive_float_bits" (( x -- n )) }
-    { "(format-float)" "math.parser.private" "primitive_format_float" (( n format -- byte-array )) }
-    { "bignum*" "math.private" "primitive_bignum_multiply" (( x y -- z )) }
-    { "bignum+" "math.private" "primitive_bignum_add" (( x y -- z )) }
-    { "bignum-" "math.private" "primitive_bignum_subtract" (( x y -- z )) }
-    { "bignum-bit?" "math.private" "primitive_bignum_bitp" (( n x -- ? )) }
-    { "bignum-bitand" "math.private" "primitive_bignum_and" (( x y -- z )) }
-    { "bignum-bitnot" "math.private" "primitive_bignum_not" (( x -- y )) }
-    { "bignum-bitor" "math.private" "primitive_bignum_or" (( x y -- z )) }
-    { "bignum-bitxor" "math.private" "primitive_bignum_xor" (( x y -- z )) }
-    { "bignum-log2" "math.private" "primitive_bignum_log2" (( x -- n )) }
-    { "bignum-mod" "math.private" "primitive_bignum_mod" (( x y -- z )) }
-    { "bignum-shift" "math.private" "primitive_bignum_shift" (( x y -- z )) }
-    { "bignum/i" "math.private" "primitive_bignum_divint" (( x y -- z )) }
-    { "bignum/mod" "math.private" "primitive_bignum_divmod" (( x y -- z w )) }
-    { "bignum<" "math.private" "primitive_bignum_less" (( x y -- ? )) }
-    { "bignum<=" "math.private" "primitive_bignum_lesseq" (( x y -- ? )) }
-    { "bignum=" "math.private" "primitive_bignum_eq" (( x y -- ? )) }
-    { "bignum>" "math.private" "primitive_bignum_greater" (( x y -- ? )) }
-    { "bignum>=" "math.private" "primitive_bignum_greatereq" (( x y -- ? )) }
-    { "bignum>fixnum" "math.private" "primitive_bignum_to_fixnum" (( x -- y )) }
-    { "fixnum-shift" "math.private" "primitive_fixnum_shift" (( x y -- z )) }
-    { "fixnum/i" "math.private" "primitive_fixnum_divint" (( x y -- z )) }
-    { "fixnum/mod" "math.private" "primitive_fixnum_divmod" (( x y -- z w )) }
-    { "fixnum>bignum" "math.private" "primitive_fixnum_to_bignum" (( x -- y )) }
-    { "fixnum>float" "math.private" "primitive_fixnum_to_float" (( x -- y )) }
-    { "float*" "math.private" "primitive_float_multiply" (( x y -- z )) }
-    { "float+" "math.private" "primitive_float_add" (( x y -- z )) }
-    { "float-" "math.private" "primitive_float_subtract" (( x y -- z )) }
-    { "float-u<" "math.private" "primitive_float_less" (( x y -- ? )) }
-    { "float-u<=" "math.private" "primitive_float_lesseq" (( x y -- ? )) }
-    { "float-u>" "math.private" "primitive_float_greater" (( x y -- ? )) }
-    { "float-u>=" "math.private" "primitive_float_greatereq" (( x y -- ? )) }
-    { "float/f" "math.private" "primitive_float_divfloat" (( x y -- z )) }
-    { "float<" "math.private" "primitive_float_less" (( x y -- ? )) }
-    { "float<=" "math.private" "primitive_float_lesseq" (( x y -- ? )) }
-    { "float=" "math.private" "primitive_float_eq" (( x y -- ? )) }
-    { "float>" "math.private" "primitive_float_greater" (( x y -- ? )) }
-    { "float>=" "math.private" "primitive_float_greatereq" (( x y -- ? )) }
-    { "float>bignum" "math.private" "primitive_float_to_bignum" (( x -- y )) }
-    { "float>fixnum" "math.private" "primitive_float_to_fixnum" (( x -- y )) }
-    { "all-instances" "memory" "primitive_all_instances" (( -- array )) }
-    { "(code-blocks)" "tools.memory.private" "primitive_code_blocks" (( -- array )) }
-    { "(code-room)" "tools.memory.private" "primitive_code_room" (( -- code-room )) }
-    { "compact-gc" "memory" "primitive_compact_gc" (( -- )) }
-    { "(data-room)" "tools.memory.private" "primitive_data_room" (( -- data-room )) }
-    { "disable-gc-events" "tools.memory.private" "primitive_disable_gc_events" (( -- events )) }
-    { "enable-gc-events" "tools.memory.private" "primitive_enable_gc_events" (( -- )) }
-    { "gc" "memory" "primitive_full_gc" (( -- )) }
-    { "minor-gc" "memory" "primitive_minor_gc" (( -- )) }
-    { "size" "memory" "primitive_size" (( obj -- n )) }
-    { "(save-image)" "memory.private" "primitive_save_image" (( path1 path2 -- )) }
-    { "(save-image-and-exit)" "memory.private" "primitive_save_image_and_exit" (( path1 path2 -- )) }
-    { "jit-compile" "quotations" "primitive_jit_compile" (( quot -- )) }
-    { "quot-compiled?" "quotations" "primitive_quot_compiled_p" (( quot -- ? )) }
-    { "quotation-code" "quotations" "primitive_quotation_code" (( quot -- start end )) }
-    { "array>quotation" "quotations.private" "primitive_array_to_quotation" (( array -- quot )) }
-    { "set-slot" "slots.private" "primitive_set_slot" (( value obj n -- )) }
-    { "<string>" "strings" "primitive_string" (( n ch -- string )) }
-    { "resize-string" "strings" "primitive_resize_string" (( n str -- newstr )) }
-    { "set-string-nth-fast" "strings.private" "primitive_set_string_nth_fast" (( ch n string -- )) }
-    { "(exit)" "system" "primitive_exit" (( n -- * )) }
-    { "nano-count" "system" "primitive_nano_count" (( -- ns )) }
-    { "(sleep)" "threads.private" "primitive_sleep" (( nanos -- )) }
-    { "callstack-for" "threads.private" "primitive_callstack_for" (( context -- array )) }
-    { "context-object-for" "threads.private" "primitive_context_object_for" (( n context -- obj )) }
-    { "datastack-for" "threads.private" "primitive_datastack_for" (( context -- array )) }
-    { "retainstack-for" "threads.private" "primitive_retainstack_for" (( context -- array )) }
-    { "dispatch-stats" "tools.dispatch.private" "primitive_dispatch_stats" (( -- stats )) }
-    { "reset-dispatch-stats" "tools.dispatch.private" "primitive_reset_dispatch_stats" (( -- )) }
-    { "profiling" "tools.profiler.private" "primitive_profiling" (( ? -- )) }
-    { "optimized?" "words" "primitive_optimized_p" (( word -- ? )) }
-    { "word-code" "words" "primitive_word_code" (( word -- start end )) }
-    { "(word)" "words.private" "primitive_word" (( name vocab hashcode -- word )) }
+    { "<callback>" "alien" "primitive_callback" ( return-rewind word -- alien ) }
+    { "<displaced-alien>" "alien" "primitive_displaced_alien" ( displacement c-ptr -- alien ) }
+    { "alien-address" "alien" "primitive_alien_address" ( c-ptr -- addr ) }
+    { "alien-cell" "alien.accessors" "primitive_alien_cell" ( c-ptr n -- value ) }
+    { "alien-double" "alien.accessors" "primitive_alien_double" ( c-ptr n -- value ) }
+    { "alien-float" "alien.accessors" "primitive_alien_float" ( c-ptr n -- value ) }
+    { "alien-signed-1" "alien.accessors" "primitive_alien_signed_1" ( c-ptr n -- value ) }
+    { "alien-signed-2" "alien.accessors" "primitive_alien_signed_2" ( c-ptr n -- value ) }
+    { "alien-signed-4" "alien.accessors" "primitive_alien_signed_4" ( c-ptr n -- value ) }
+    { "alien-signed-8" "alien.accessors" "primitive_alien_signed_8" ( c-ptr n -- value ) }
+    { "alien-signed-cell" "alien.accessors" "primitive_alien_signed_cell" ( c-ptr n -- value ) }
+    { "alien-unsigned-1" "alien.accessors" "primitive_alien_unsigned_1" ( c-ptr n -- value ) }
+    { "alien-unsigned-2" "alien.accessors" "primitive_alien_unsigned_2" ( c-ptr n -- value ) }
+    { "alien-unsigned-4" "alien.accessors" "primitive_alien_unsigned_4" ( c-ptr n -- value ) }
+    { "alien-unsigned-8" "alien.accessors" "primitive_alien_unsigned_8" ( c-ptr n -- value ) }
+    { "alien-unsigned-cell" "alien.accessors" "primitive_alien_unsigned_cell" ( c-ptr n -- value ) }
+    { "set-alien-cell" "alien.accessors" "primitive_set_alien_cell" ( value c-ptr n -- ) }
+    { "set-alien-double" "alien.accessors" "primitive_set_alien_double" ( value c-ptr n -- ) }
+    { "set-alien-float" "alien.accessors" "primitive_set_alien_float" ( value c-ptr n -- ) }
+    { "set-alien-signed-1" "alien.accessors" "primitive_set_alien_signed_1" ( value c-ptr n -- ) }
+    { "set-alien-signed-2" "alien.accessors" "primitive_set_alien_signed_2" ( value c-ptr n -- ) }
+    { "set-alien-signed-4" "alien.accessors" "primitive_set_alien_signed_4" ( value c-ptr n -- ) }
+    { "set-alien-signed-8" "alien.accessors" "primitive_set_alien_signed_8" ( value c-ptr n -- ) }
+    { "set-alien-signed-cell" "alien.accessors" "primitive_set_alien_signed_cell" ( value c-ptr n -- ) }
+    { "set-alien-unsigned-1" "alien.accessors" "primitive_set_alien_unsigned_1" ( value c-ptr n -- ) }
+    { "set-alien-unsigned-2" "alien.accessors" "primitive_set_alien_unsigned_2" ( value c-ptr n -- ) }
+    { "set-alien-unsigned-4" "alien.accessors" "primitive_set_alien_unsigned_4" ( value c-ptr n -- ) }
+    { "set-alien-unsigned-8" "alien.accessors" "primitive_set_alien_unsigned_8" ( value c-ptr n -- ) }
+    { "set-alien-unsigned-cell" "alien.accessors" "primitive_set_alien_unsigned_cell" ( value c-ptr n -- ) }
+    { "(dlopen)" "alien.libraries" "primitive_dlopen" ( path -- dll ) }
+    { "(dlsym)" "alien.libraries" "primitive_dlsym" ( name dll -- alien ) }
+    { "(dlsym-raw)" "alien.libraries" "primitive_dlsym_raw" ( name dll -- alien ) }
+    { "dlclose" "alien.libraries" "primitive_dlclose" ( dll -- ) }
+    { "dll-valid?" "alien.libraries" "primitive_dll_validp" ( dll -- ? ) }
+    { "current-callback" "alien.private" "primitive_current_callback" ( -- n ) }
+    { "<array>" "arrays" "primitive_array" ( n elt -- array ) }
+    { "resize-array" "arrays" "primitive_resize_array" ( n array -- new-array ) }
+    { "(byte-array)" "byte-arrays" "primitive_uninitialized_byte_array" ( n -- byte-array ) }
+    { "<byte-array>" "byte-arrays" "primitive_byte_array" ( n -- byte-array ) }
+    { "resize-byte-array" "byte-arrays" "primitive_resize_byte_array" ( n byte-array -- new-byte-array ) }
+    { "<tuple-boa>" "classes.tuple.private" "primitive_tuple_boa" ( slots... layout -- tuple ) }
+    { "<tuple>" "classes.tuple.private" "primitive_tuple" ( layout -- tuple ) }
+    { "modify-code-heap" "compiler.units" "primitive_modify_code_heap" ( alist update-existing? reset-pics? -- ) }
+    { "lookup-method" "generic.single.private" "primitive_lookup_method" ( object methods -- method ) }
+    { "mega-cache-miss" "generic.single.private" "primitive_mega_cache_miss" ( methods index cache -- method ) }
+    { "(exists?)" "io.files.private" "primitive_existsp" ( path -- ? ) }
+    { "(fopen)" "io.streams.c" "primitive_fopen" ( path mode -- alien ) }
+    { "fclose" "io.streams.c" "primitive_fclose" ( alien -- ) }
+    { "fflush" "io.streams.c" "primitive_fflush" ( alien -- ) }
+    { "fgetc" "io.streams.c" "primitive_fgetc" ( alien -- byte/f ) }
+    { "fputc" "io.streams.c" "primitive_fputc" ( byte alien -- ) }
+    { "fread-unsafe" "io.streams.c" "primitive_fread" ( n buf alien -- count ) }
+    { "fseek" "io.streams.c" "primitive_fseek" ( alien offset whence -- ) }
+    { "ftell" "io.streams.c" "primitive_ftell" ( alien -- n ) }
+    { "fwrite" "io.streams.c" "primitive_fwrite" ( data length alien -- ) }
+    { "(clone)" "kernel" "primitive_clone" ( obj -- newobj ) }
+    { "<wrapper>" "kernel" "primitive_wrapper" ( obj -- wrapper ) }
+    { "callstack" "kernel" "primitive_callstack" ( -- callstack ) }
+    { "callstack>array" "kernel" "primitive_callstack_to_array" ( callstack -- array ) }
+    { "datastack" "kernel" "primitive_datastack" ( -- array ) }
+    { "die" "kernel" "primitive_die" ( -- ) }
+    { "retainstack" "kernel" "primitive_retainstack" ( -- array ) }
+    { "(identity-hashcode)" "kernel.private" "primitive_identity_hashcode" ( obj -- code ) }
+    { "become" "kernel.private" "primitive_become" ( old new -- ) }
+    { "callstack-bounds" "kernel.private" "primitive_callstack_bounds" ( -- start end ) }
+    { "check-datastack" "kernel.private" "primitive_check_datastack" ( array in# out# -- ? ) }
+    { "compute-identity-hashcode" "kernel.private" "primitive_compute_identity_hashcode" ( obj -- ) }
+    { "context-object" "kernel.private" "primitive_context_object" ( n -- obj ) }
+    { "innermost-frame-executing" "kernel.private" "primitive_innermost_stack_frame_executing" ( callstack -- obj ) }
+    { "innermost-frame-scan" "kernel.private" "primitive_innermost_stack_frame_scan" ( callstack -- n ) }
+    { "set-context-object" "kernel.private" "primitive_set_context_object" ( obj n -- ) }
+    { "set-datastack" "kernel.private" "primitive_set_datastack" ( array -- ) }
+    { "set-innermost-frame-quot" "kernel.private" "primitive_set_innermost_stack_frame_quot" ( n callstack -- ) }
+    { "set-retainstack" "kernel.private" "primitive_set_retainstack" ( array -- ) }
+    { "set-special-object" "kernel.private" "primitive_set_special_object" ( obj n -- ) }
+    { "special-object" "kernel.private" "primitive_special_object" ( n -- obj ) }
+    { "strip-stack-traces" "kernel.private" "primitive_strip_stack_traces" ( -- ) }
+    { "unimplemented" "kernel.private" "primitive_unimplemented" ( -- * ) }
+    { "load-locals" "locals.backend" "primitive_load_locals" ( ... n -- ) }
+    { "bits>double" "math" "primitive_bits_double" ( n -- x ) }
+    { "bits>float" "math" "primitive_bits_float" ( n -- x ) }
+    { "double>bits" "math" "primitive_double_bits" ( x -- n ) }
+    { "float>bits" "math" "primitive_float_bits" ( x -- n ) }
+    { "(format-float)" "math.parser.private" "primitive_format_float" ( n format -- byte-array ) }
+    { "bignum*" "math.private" "primitive_bignum_multiply" ( x y -- z ) }
+    { "bignum+" "math.private" "primitive_bignum_add" ( x y -- z ) }
+    { "bignum-" "math.private" "primitive_bignum_subtract" ( x y -- z ) }
+    { "bignum-bit?" "math.private" "primitive_bignum_bitp" ( n x -- ? ) }
+    { "bignum-bitand" "math.private" "primitive_bignum_and" ( x y -- z ) }
+    { "bignum-bitnot" "math.private" "primitive_bignum_not" ( x -- y ) }
+    { "bignum-bitor" "math.private" "primitive_bignum_or" ( x y -- z ) }
+    { "bignum-bitxor" "math.private" "primitive_bignum_xor" ( x y -- z ) }
+    { "bignum-log2" "math.private" "primitive_bignum_log2" ( x -- n ) }
+    { "bignum-mod" "math.private" "primitive_bignum_mod" ( x y -- z ) }
+    { "bignum-shift" "math.private" "primitive_bignum_shift" ( x y -- z ) }
+    { "bignum/i" "math.private" "primitive_bignum_divint" ( x y -- z ) }
+    { "bignum/mod" "math.private" "primitive_bignum_divmod" ( x y -- z w ) }
+    { "bignum<" "math.private" "primitive_bignum_less" ( x y -- ? ) }
+    { "bignum<=" "math.private" "primitive_bignum_lesseq" ( x y -- ? ) }
+    { "bignum=" "math.private" "primitive_bignum_eq" ( x y -- ? ) }
+    { "bignum>" "math.private" "primitive_bignum_greater" ( x y -- ? ) }
+    { "bignum>=" "math.private" "primitive_bignum_greatereq" ( x y -- ? ) }
+    { "bignum>fixnum" "math.private" "primitive_bignum_to_fixnum" ( x -- y ) }
+    { "fixnum-shift" "math.private" "primitive_fixnum_shift" ( x y -- z ) }
+    { "fixnum/i" "math.private" "primitive_fixnum_divint" ( x y -- z ) }
+    { "fixnum/mod" "math.private" "primitive_fixnum_divmod" ( x y -- z w ) }
+    { "fixnum>bignum" "math.private" "primitive_fixnum_to_bignum" ( x -- y ) }
+    { "fixnum>float" "math.private" "primitive_fixnum_to_float" ( x -- y ) }
+    { "float*" "math.private" "primitive_float_multiply" ( x y -- z ) }
+    { "float+" "math.private" "primitive_float_add" ( x y -- z ) }
+    { "float-" "math.private" "primitive_float_subtract" ( x y -- z ) }
+    { "float-u<" "math.private" "primitive_float_less" ( x y -- ? ) }
+    { "float-u<=" "math.private" "primitive_float_lesseq" ( x y -- ? ) }
+    { "float-u>" "math.private" "primitive_float_greater" ( x y -- ? ) }
+    { "float-u>=" "math.private" "primitive_float_greatereq" ( x y -- ? ) }
+    { "float/f" "math.private" "primitive_float_divfloat" ( x y -- z ) }
+    { "float<" "math.private" "primitive_float_less" ( x y -- ? ) }
+    { "float<=" "math.private" "primitive_float_lesseq" ( x y -- ? ) }
+    { "float=" "math.private" "primitive_float_eq" ( x y -- ? ) }
+    { "float>" "math.private" "primitive_float_greater" ( x y -- ? ) }
+    { "float>=" "math.private" "primitive_float_greatereq" ( x y -- ? ) }
+    { "float>bignum" "math.private" "primitive_float_to_bignum" ( x -- y ) }
+    { "float>fixnum" "math.private" "primitive_float_to_fixnum" ( x -- y ) }
+    { "all-instances" "memory" "primitive_all_instances" ( -- array ) }
+    { "(code-blocks)" "tools.memory.private" "primitive_code_blocks" ( -- array ) }
+    { "(code-room)" "tools.memory.private" "primitive_code_room" ( -- code-room ) }
+    { "compact-gc" "memory" "primitive_compact_gc" ( -- ) }
+    { "(data-room)" "tools.memory.private" "primitive_data_room" ( -- data-room ) }
+    { "disable-gc-events" "tools.memory.private" "primitive_disable_gc_events" ( -- events ) }
+    { "enable-gc-events" "tools.memory.private" "primitive_enable_gc_events" ( -- ) }
+    { "gc" "memory" "primitive_full_gc" ( -- ) }
+    { "minor-gc" "memory" "primitive_minor_gc" ( -- ) }
+    { "size" "memory" "primitive_size" ( obj -- n ) }
+    { "(save-image)" "memory.private" "primitive_save_image" ( path1 path2 -- ) }
+    { "(save-image-and-exit)" "memory.private" "primitive_save_image_and_exit" ( path1 path2 -- ) }
+    { "jit-compile" "quotations" "primitive_jit_compile" ( quot -- ) }
+    { "quot-compiled?" "quotations" "primitive_quot_compiled_p" ( quot -- ? ) }
+    { "quotation-code" "quotations" "primitive_quotation_code" ( quot -- start end ) }
+    { "array>quotation" "quotations.private" "primitive_array_to_quotation" ( array -- quot ) }
+    { "set-slot" "slots.private" "primitive_set_slot" ( value obj n -- ) }
+    { "<string>" "strings" "primitive_string" ( n ch -- string ) }
+    { "resize-string" "strings" "primitive_resize_string" ( n str -- newstr ) }
+    { "set-string-nth-fast" "strings.private" "primitive_set_string_nth_fast" ( ch n string -- ) }
+    { "(exit)" "system" "primitive_exit" ( n -- * ) }
+    { "nano-count" "system" "primitive_nano_count" ( -- ns ) }
+    { "(sleep)" "threads.private" "primitive_sleep" ( nanos -- ) }
+    { "callstack-for" "threads.private" "primitive_callstack_for" ( context -- array ) }
+    { "context-object-for" "threads.private" "primitive_context_object_for" ( n context -- obj ) }
+    { "datastack-for" "threads.private" "primitive_datastack_for" ( context -- array ) }
+    { "retainstack-for" "threads.private" "primitive_retainstack_for" ( context -- array ) }
+    { "dispatch-stats" "tools.dispatch.private" "primitive_dispatch_stats" ( -- stats ) }
+    { "reset-dispatch-stats" "tools.dispatch.private" "primitive_reset_dispatch_stats" ( -- ) }
+    { "profiling" "tools.profiler.private" "primitive_profiling" ( ? -- ) }
+    { "optimized?" "words" "primitive_optimized_p" ( word -- ? ) }
+    { "word-code" "words" "primitive_word_code" ( word -- start end ) }
+    { "(word)" "words.private" "primitive_word" ( name vocab hashcode -- word ) }
 } [ first4 make-primitive ] each
 
 ! Bump build number
-"build" "kernel" create build 1 + [ ] curry (( -- n )) define-declared
+"build" "kernel" create build 1 + [ ] curry ( -- n ) define-declared
 
 ] with-compilation-unit
index 623368d6fbe8e987484e800ebef6044770770e40..4bbf6bc9cb63985a04028069e28d14964d01f23b 100644 (file)
@@ -78,7 +78,7 @@ M: predicate reset-word
     [ call-next-method ] [ f "predicating" set-word-prop ] bi ;
 
 : define-predicate ( class quot -- )
-    [ predicate-word ] dip (( object -- ? )) define-declared ;
+    [ predicate-word ] dip ( object -- ? ) define-declared ;
 
 : superclass ( class -- super )
     #! Output f for non-classes to work with algebra code
index 48db064cf8400608c0c8e3f8ade67a43aeb73719..bbc5004f0a0c4a6fa75cc8c9bb9d9766b084c71b 100644 (file)
@@ -714,7 +714,7 @@ DEFER: redefine-tuple-twice
 ERROR: base-error x y ;
 ERROR: derived-error < base-error z ;
 
-[ (( x y z -- * )) ] [ \ derived-error stack-effect ] unit-test
+[ ( x y z -- * ) ] [ \ derived-error stack-effect ] unit-test
 
 ! Make sure that tuple reshaping updates code heap roots
 TUPLE: code-heap-ref ;
index 207759ee183db4f7b27817e259a8f2c22344cb2a..5eafdb0332480c880687d2ea5e796c48867156c8 100644 (file)
@@ -16,7 +16,7 @@ ERROR: not-a-tuple object ;
 : all-slots ( class -- slots )
     superclasses [ "slots" word-prop ] map concat ;
 
-PREDICATE: immutable-tuple-class < tuple-class ( class -- ? )
+PREDICATE: immutable-tuple-class < tuple-class
     all-slots [ read-only>> ] all? ;
 
 <PRIVATE
index ecfdcf93f196a961af8aa640c1a141aac9204947..e0b9c09cb22bdb0af8bd5001d4970c4e708c2008 100644 (file)
@@ -234,7 +234,7 @@ HELP: call-effect
   "The following two lines are equivalent:"
   { $code
     "call( a b -- c )"
-    "(( a b -- c )) call-effect"
+    "( a b -- c ) call-effect"
   }
 } ;
 
@@ -245,7 +245,7 @@ HELP: execute-effect
   "The following two lines are equivalent:"
   { $code
     "execute( a b -- c )"
-    "(( a b -- c )) execute-effect"
+    "( a b -- c ) execute-effect"
   }
 } ;
 
index 1f524520b890fb1bcc856e48dbb02a1fe24160b5..ee2f30a36c43f66070bc1759debea865775e7292 100644 (file)
@@ -253,7 +253,7 @@ CONSTANT: case-const-2 2
 
 DEFER: corner-case-1
 
-<< \ corner-case-1 2 [ + ] curry 1array [ case ] curry (( a -- b )) define-declared >>
+<< \ corner-case-1 2 [ + ] curry 1array [ case ] curry ( a -- b ) define-declared >>
 
 [ t ] [ \ corner-case-1 optimized? ] unit-test
 
@@ -321,6 +321,6 @@ DEFER: corner-case-1
 [ "nachos" ] [ 33 test-case-12 ] unit-test
 [ "nachos" ] [ 33 \ test-case-12 def>> call ] unit-test
 
-[ (( x x -- x x )) ] [
+[ ( x x -- x x ) ] [
     [ { [ ] [ ] } spread ] infer
 ] unit-test
index 58c205d6717669f552e56f2f3455c4b7a4f4dbd1..61d54a424d264e19156d9bbb0cacf2351f01e403 100644 (file)
@@ -17,7 +17,7 @@ IN: combinators
 
 M: object throw
     5 special-object [ die ] or
-    (( error -- * )) call-effect-unsafe ;
+    ( error -- * ) call-effect-unsafe ;
 
 PRIVATE>
 
index 86711f4ab0a71aa721ecb876f4aaeb91edadae71..72a504e91ac6b94f9a3559e31514c5f3f45eabdf 100644 (file)
@@ -40,7 +40,7 @@ SYMBOL: counter
 
 M: observer definitions-changed 2drop global [ counter inc ] bind ;
 
-[ gensym [ ] (( -- )) define-declared ] with-compilation-unit
+[ gensym [ ] ( -- ) define-declared ] with-compilation-unit
 
 [ 1 ] [ counter get-global ] unit-test
 
index bfcca41587bb33f249cd85faecd130b4028901e3..aeae5778e48d84ed1f15d98d28e5acbafdb4ba23 100644 (file)
@@ -10,7 +10,7 @@ IN: continuations
         [ [ datastack ] dip swap [ { } like set-datastack ] dip ] dip
         swap [ call datastack ] dip
         swap [ set-datastack ] dip
-    ] (( stack quot -- new-stack )) call-effect-unsafe ;
+    ] ( stack quot -- new-stack ) call-effect-unsafe ;
 
 SYMBOL: original-error
 SYMBOL: error
@@ -68,7 +68,7 @@ PRIVATE>
         set-retainstack
         [ set-datastack ] dip
         set-callstack
-    ] (( continuation -- * )) call-effect-unsafe ;
+    ] ( continuation -- * ) call-effect-unsafe ;
 
 PRIVATE>
 
@@ -81,7 +81,7 @@ PRIVATE>
         set-retainstack
         [ set-datastack drop 4 special-object f 4 set-special-object f ] dip
         set-callstack
-    ] (( obj continuation -- * )) call-effect-unsafe ;
+    ] ( obj continuation -- * ) call-effect-unsafe ;
 
 : continue ( continuation -- * )
     f swap continue-with ;
index 7cd21a004e93b58c36ed76c58ece5957df0db3dc..da151991a5d4931b6fabdc4d7c3fb5a190ce3cd2 100644 (file)
@@ -50,13 +50,13 @@ HELP: <effect>
 { $notes "This word cannot construct effects with " { $link "effects-variables" } ". Use " { $link <variable-effect> } " to construct variable stack effects." }
 { $examples
 { $example """USING: effects prettyprint ;
-{ "a" "b" } { "c" } <effect> .""" """(( a b -- c ))""" }
+{ "a" "b" } { "c" } <effect> .""" """( a b -- c )""" }
 { $example """USING: arrays effects prettyprint ;
-{ "a" { "b" array } } { "c" } <effect> .""" """(( a b: array -- c ))""" }
+{ "a" { "b" array } } { "c" } <effect> .""" """( a b: array -- c )""" }
 { $example """USING: effects prettyprint ;
-{ "a" { "b" (( x y -- z )) } } { "c" } <effect> .""" """(( a b: ( x y -- z ) -- c ))""" }
+{ "a" { "b" ( x y -- z ) } } { "c" } <effect> .""" """( a b: ( x y -- z ) -- c )""" }
 { $example """USING: effects prettyprint ;
-{ "a" { "b" (( x y -- z )) } } { "*" } <effect> .""" """(( a b: ( x y -- z ) -- * ))""" }
+{ "a" { "b" ( x y -- z ) } } { "*" } <effect> .""" """( a b: ( x y -- z ) -- * )""" }
 } ;
 
 HELP: <terminated-effect>
@@ -70,9 +70,9 @@ HELP: <terminated-effect>
 { $notes "This word cannot construct effects with " { $link "effects-variables" } ". Use " { $link <variable-effect> } " to construct variable stack effects." }
 { $examples
 { $example """USING: effects prettyprint ;
-{ "a" { "b" (( x y -- z )) } } { "c" } f <terminated-effect> .""" """(( a b: ( x y -- z ) -- c ))""" }
+{ "a" { "b" ( x y -- z ) } } { "c" } f <terminated-effect> .""" """( a b: ( x y -- z ) -- c )""" }
 { $example """USING: effects prettyprint ;
-{ "a" { "b" (( x y -- z )) } } { } t <terminated-effect> .""" """(( a b: ( x y -- z ) -- * ))""" }
+{ "a" { "b" ( x y -- z ) } } { } t <terminated-effect> .""" """( a b: ( x y -- z ) -- * )""" }
 } ;
 
 HELP: <variable-effect>
@@ -86,13 +86,13 @@ HELP: <variable-effect>
 { $description "Constructs an " { $link effect } " object like " { $link <effect> } ". If " { $snippet "in-var" } " or " { $snippet "out-var" } " are not " { $link f } ", they are used as the names of the " { $link "effects-variables" } " for the inputs and outputs of the effect object." }
 { $examples
 { $example """USING: effects prettyprint ;
-f { "a" "b" } f { "c" } <variable-effect> .""" """(( a b -- c ))""" }
+f { "a" "b" } f { "c" } <variable-effect> .""" """( a b -- c )""" }
 { $example """USING: effects prettyprint ;
-"x" { "a" "b" } "y" { "c" } <variable-effect> .""" """(( ..x a b -- ..y c ))""" }
+"x" { "a" "b" } "y" { "c" } <variable-effect> .""" """( ..x a b -- ..y c )""" }
 { $example """USING: arrays effects prettyprint ;
-"y" { "a" { "b" (( ..x -- ..y )) } } "x" { "c" } <variable-effect> .""" """(( ..y a b: ( ..x -- ..y ) -- ..x c ))""" }
+"y" { "a" { "b" ( ..x -- ..y ) } } "x" { "c" } <variable-effect> .""" """( ..y a b: ( ..x -- ..y ) -- ..x c )""" }
 { $example """USING: effects prettyprint ;
-"." { "a" "b" } f { "*" } <variable-effect> .""" """(( ... a b -- * ))""" }
+"." { "a" "b" } f { "*" } <variable-effect> .""" """( ... a b -- * )""" }
 } ;
 
 
@@ -131,7 +131,7 @@ HELP: effect=
 { $values { "effect1" effect } { "effect2" effect } { "?" "a boolean" } }
 { $description "Tests if " { $snippet "effect1" } " and " { $snippet "effect2" } " represent the same stack transformation, without looking parameter names." }
 { $examples
-  { $example "USING: effects prettyprint ;" "(( a -- b )) (( x -- y )) effect= ." "t" }
+  { $example "USING: effects prettyprint ;" "( a -- b ) ( x -- y ) effect= ." "t" }
 } ;
 
 HELP: effect>string
index 0afc61047dfb0c32d336aef9b4f57e9a6982da52..5f4a299ac84c6d154dfbffc99f273e162c85e15f 100644 (file)
@@ -7,45 +7,45 @@ IN: effects.tests
 [ t ] [ { "a" "b" } { "a" "b" } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
 [ f ] [ { "a" "b" "c" } { "a" "b" "c" } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
 [ f ] [ { "a" "b" } { "a" "b" "c" } <effect> { "a" "b" } { "a" "b" } <effect> effect<= ] unit-test
-[ 2 ] [ (( a b -- c )) in>> length ] unit-test
-[ 1 ] [ (( a b -- c )) out>> length ] unit-test
-
-[ t ] [ (( a b -- c )) (( ... a b -- ... c )) effect<= ] unit-test
-[ t ] [ (( b -- )) (( ... a b -- ... c )) effect<= ] unit-test
-[ f ] [ (( ... a b -- ... c )) (( a b -- c )) effect<= ] unit-test
-[ f ] [ (( ... b -- ... )) (( a b -- c )) effect<= ] unit-test
-[ f ] [ (( a b -- c )) (( ... a b -- c )) effect<= ] unit-test
-[ f ] [ (( a b -- c )) (( ..x a b -- ..y c )) effect<= ] unit-test
-
-[ "(( object -- object ))" ] [ { f } { f } <effect> unparse ] unit-test
-[ "(( a b -- c d ))" ] [ { "a" "b" } { "c" "d" } <effect> unparse ] unit-test
-[ "(( -- c d ))" ] [ { } { "c" "d" } <effect> unparse ] unit-test
-[ "(( a b -- ))" ] [ { "a" "b" } { } <effect> unparse ] unit-test
-[ "(( -- ))" ] [ { } { } <effect> unparse ] unit-test
-[ "(( a b -- c ))" ] [ (( a b -- c )) unparse ] unit-test
-
-[ { "x" "y" } ] [ { "y" "x" } (( a b -- b a )) shuffle ] unit-test
-[ { "y" "x" "y" } ] [ { "y" "x" } (( a b -- a b a )) shuffle ] unit-test
-[ { } ] [ { "y" "x" } (( a b -- )) shuffle ] unit-test
-
-[ t ] [ (( -- )) (( -- )) compose-effects (( -- )) effect= ] unit-test
-[ t ] [ (( -- * )) (( -- )) compose-effects (( -- * )) effect= ] unit-test
-[ t ] [ (( -- )) (( -- * )) compose-effects (( -- * )) effect= ] unit-test
-
-[ { object object } ] [ (( a b -- )) effect-in-types ] unit-test
-[ { object sequence } ] [ (( a b: sequence -- )) effect-in-types ] unit-test
-
-[ f   ] [ (( a b c -- d )) in-var>> ] unit-test
-[ f   ] [ (( -- d )) in-var>> ] unit-test
-[ "a" ] [ (( ..a b c -- d )) in-var>> ] unit-test
-[ { "b" "c" } ] [ (( ..a b c -- d )) in>> ] unit-test
-
-[ f   ] [ (( ..a b c -- e )) out-var>> ] unit-test
-[ "d" ] [ (( ..a b c -- ..d e )) out-var>> ] unit-test
-[ { "e" } ] [ (( ..a b c -- ..d e )) out>> ] unit-test
-
-[ "(( a ..b c -- d ))" eval( -- effect ) ]
+[ 2 ] [ ( a b -- c ) in>> length ] unit-test
+[ 1 ] [ ( a b -- c ) out>> length ] unit-test
+
+[ t ] [ ( a b -- c ) ( ... a b -- ... c ) effect<= ] unit-test
+[ t ] [ ( b -- ) ( ... a b -- ... c ) effect<= ] unit-test
+[ f ] [ ( ... a b -- ... c ) ( a b -- c ) effect<= ] unit-test
+[ f ] [ ( ... b -- ... ) ( a b -- c ) effect<= ] unit-test
+[ f ] [ ( a b -- c ) ( ... a b -- c ) effect<= ] unit-test
+[ f ] [ ( a b -- c ) ( ..x a b -- ..y c ) effect<= ] unit-test
+
+[ "( object -- object )" ] [ { f } { f } <effect> unparse ] unit-test
+[ "( a b -- c d )" ] [ { "a" "b" } { "c" "d" } <effect> unparse ] unit-test
+[ "( -- c d )" ] [ { } { "c" "d" } <effect> unparse ] unit-test
+[ "( a b -- )" ] [ { "a" "b" } { } <effect> unparse ] unit-test
+[ "( -- )" ] [ { } { } <effect> unparse ] unit-test
+[ "( a b -- c )" ] [ ( a b -- c ) unparse ] unit-test
+
+[ { "x" "y" } ] [ { "y" "x" } ( a b -- b a ) shuffle ] unit-test
+[ { "y" "x" "y" } ] [ { "y" "x" } ( a b -- a b a ) shuffle ] unit-test
+[ { } ] [ { "y" "x" } ( a b -- ) shuffle ] unit-test
+
+[ t ] [ ( -- ) ( -- ) compose-effects ( -- ) effect= ] unit-test
+[ t ] [ ( -- * ) ( -- ) compose-effects ( -- * ) effect= ] unit-test
+[ t ] [ ( -- ) ( -- * ) compose-effects ( -- * ) effect= ] unit-test
+
+[ { object object } ] [ ( a b -- ) effect-in-types ] unit-test
+[ { object sequence } ] [ ( a b: sequence -- ) effect-in-types ] unit-test
+
+[ f   ] [ ( a b c -- d ) in-var>> ] unit-test
+[ f   ] [ ( -- d ) in-var>> ] unit-test
+[ "a" ] [ ( ..a b c -- d ) in-var>> ] unit-test
+[ { "b" "c" } ] [ ( ..a b c -- d ) in>> ] unit-test
+
+[ f   ] [ ( ..a b c -- e ) out-var>> ] unit-test
+[ "d" ] [ ( ..a b c -- ..d e ) out-var>> ] unit-test
+[ { "e" } ] [ ( ..a b c -- ..d e ) out>> ] unit-test
+
+[ "( a ..b c -- d )" eval( -- effect ) ]
 [ error>> invalid-row-variable? ] must-fail-with
 
-[ "(( ..a: integer b c -- d ))" eval( -- effect ) ]
+[ "( ..a: integer b c -- d )" eval( -- effect ) ]
 [ error>> row-variable-can't-have-type? ] must-fail-with
index 12573ad9373d2f215a202b157d3d5524bd52b533..6626ee685d63511c5f2306678b7b43ea7989bf95 100644 (file)
@@ -92,7 +92,7 @@ M: word stack-effect
     [ "declared-effect" word-prop ]
     [ parent-word dup [ stack-effect ] when ] bi or ;
 
-M: deferred stack-effect call-next-method (( -- * )) or ;
+M: deferred stack-effect call-next-method ( -- * ) or ;
 
 M: effect clone
     [ in>> clone ] [ out>> clone ] bi <effect> ;
index 6cb39d208d3dd29982da2805409591cb00bc898b..e345b9d8f056d9c41054cfdd2979551faf139b1a 100644 (file)
@@ -4,6 +4,6 @@ USING: strings effects help.markup help.syntax ;
 HELP: parse-effect
 { $values { "end" string } { "effect" "an instance of " { $link effect } } }
 { $description "Parses a stack effect from the current input line." }
-{ $examples "This word is used by " { $link POSTPONE: ( } " and " { $link POSTPONE: (( } " to parse stack effect declarations." }
+{ $examples "This word is used by " { $link POSTPONE: ( } " to parse stack effect declarations." }
 $parsing-note ;
 
index 8cdb645880ad3602adc00ccb7a3e3e8daf16d7f4..490015d4517dd4ed0b44c4de70d62e928a6b89ae 100644 (file)
@@ -122,7 +122,7 @@ M: math-combination perform-combination
         define
     ] with-variable ;
 
-PREDICATE: math-generic < generic ( word -- ? )
+PREDICATE: math-generic < generic
     "combination" word-prop math-combination? ;
 
 M: math-generic definer drop \ MATH: f ;
index d14da1bde55aa6d95d8de4d3c286a6ac2b9f1ad0..11702b404257745a0e544ff3c35dae325525155c 100644 (file)
@@ -2,12 +2,12 @@ USING: generic.parser tools.test ;
 
 IN: generic.parser.tests
 
-[ t ] [ (( -- )) (( -- )) method-effect= ] unit-test
-[ t ] [ (( a -- b )) (( x -- y )) method-effect= ] unit-test
-[ f ] [ (( a b -- c )) (( x -- y )) method-effect= ] unit-test
-[ f ] [ (( a -- b )) (( x y -- z )) method-effect= ] unit-test
+[ t ] [ ( -- ) ( -- ) method-effect= ] unit-test
+[ t ] [ ( a -- b ) ( x -- y ) method-effect= ] unit-test
+[ f ] [ ( a b -- c ) ( x -- y ) method-effect= ] unit-test
+[ f ] [ ( a -- b ) ( x y -- z ) method-effect= ] unit-test
 
-[ t ] [ (( -- * )) (( -- )) method-effect= ] unit-test
-[ f ] [ (( -- * )) (( x -- y )) method-effect= ] unit-test
-[ t ] [ (( x -- * )) (( x -- y )) method-effect= ] unit-test
-[ t ] [ (( x -- * )) (( x -- y z )) method-effect= ] unit-test
+[ t ] [ ( -- * ) ( -- ) method-effect= ] unit-test
+[ f ] [ ( -- * ) ( x -- y ) method-effect= ] unit-test
+[ t ] [ ( x -- * ) ( x -- y ) method-effect= ] unit-test
+[ t ] [ ( x -- * ) ( x -- y z ) method-effect= ] unit-test
index e96d7600d5838f23d08babacf62e01724a9f31e9..b0943995c273bc8550cceb5b5227190741f2bccd 100644 (file)
@@ -337,7 +337,7 @@ DEFER: foo
 ] must-fail
 
 [ ] [
-    "IN: parser.tests USE: kernel PREDICATE: foo < object ( x -- y ) ;" eval( -- )
+    "IN: parser.tests USE: kernel PREDICATE: foo < object ;" eval( -- )
 ] unit-test
 
 [ t ] [
@@ -543,7 +543,7 @@ EXCLUDE: qualified.tests.bar => x ;
 [ t ] [ "was-once-a-word-bug" "parser.tests" lookup >boolean ] unit-test
 
 [ [ ] ] [
-    "IN: parser.tests USE: words << \"was-once-a-word-bug\" \"parser.tests\" create [ ] (( -- )) define-declared >>"
+    "IN: parser.tests USE: words << \"was-once-a-word-bug\" \"parser.tests\" create [ ] ( -- ) define-declared >>"
     <string-reader> "was-once-a-word-test" parse-stream
 ] unit-test
 
index 3191f640075440eef032a4fcb98c0b1855b52c39..b31a6ef4bcf20865e679d728eb0359e5c276757b 100644 (file)
@@ -15,7 +15,7 @@ IN: parser
 : save-location ( definition -- )
     location remember-definition ;
 
-M: parsing-word stack-effect drop (( parsed -- parsed )) ;
+M: parsing-word stack-effect drop ( parsed -- parsed ) ;
 
 : create-in ( str -- word )
     current-vocab create dup set-word dup save-location ;
index 35a459b8882dea41e5bf8289e5d680756aabf665..128ab4003d6abb282bc37ce1a5da9c0eec085e02 100644 (file)
@@ -45,7 +45,7 @@ M: object reader-quot
     "reading" associate ;
 
 : define-reader-generic ( name -- )
-    reader-word (( object -- value )) define-simple-generic ;
+    reader-word ( object -- value ) define-simple-generic ;
 
 : define-reader ( class slot-spec -- )
     [ nip name>> define-reader-generic ]
@@ -92,7 +92,7 @@ M: object writer-quot
     "writing" associate ;
 
 : define-writer-generic ( name -- )
-    writer-word (( value object -- )) define-simple-generic ;
+    writer-word ( value object -- ) define-simple-generic ;
 
 : define-writer ( class slot-spec -- )
     [ nip name>> define-writer-generic ] [
@@ -110,7 +110,7 @@ M: object writer-quot
 : define-setter ( name -- )
     dup setter-word dup deferred? [
         [ \ over , swap writer-word , ] [ ] make
-        (( object value -- object )) define-inline
+        ( object value -- object ) define-inline
     ] [ 2drop ] if ;
 
 : changer-word ( name -- word )
@@ -123,7 +123,7 @@ M: object writer-quot
             over reader-word 1quotation
             [ dip call ] curry [ ] like [ dip swap ] curry %
             swap setter-word ,
-        ] [ ] make (( object quot -- object )) define-inline
+        ] [ ] make ( object quot -- object ) define-inline
     ] [ 2drop ] if ;
 
 : define-slot-methods ( class slot-spec -- )
index f13790f5bb21fa7a23c5587fb45f3ba30f19b4d5..30a6ddeb54e75829799680ef9b8f6ee64bc9c944 100644 (file)
@@ -4,7 +4,7 @@ IN: source-files.errors.tests
 
 DEFER: forget-test
 
-[ ] [ [ \ forget-test [ 1 ] (( -- )) define-declared ] with-compilation-unit ] unit-test
+[ ] [ [ \ forget-test [ 1 ] ( -- ) define-declared ] with-compilation-unit ] unit-test
 [ t ] [ \ forget-test compiler-errors get key? ] unit-test
 [ ] [ [ \ forget-test forget ] with-compilation-unit ] unit-test
-[ f ] [ \ forget-test compiler-errors get key? ] unit-test
\ No newline at end of file
+[ f ] [ \ forget-test compiler-errors get key? ] unit-test
index 0472d6394d07a2b673c7e3ab3cfad956716824c0..72245d27964cfea2c5ab54fed2cf46214dddfab0 100644 (file)
@@ -214,7 +214,7 @@ ARTICLE: "syntax-pathnames" "Pathname syntax"
 
 ARTICLE: "syntax-effects" "Stack effect syntax"
 "Note that this is " { $emphasis "not" } " syntax to declare stack effects of words. This pushes an " { $link effect } " instance on the stack for reflection, for use with words such as " { $link define-declared } ", " { $link call-effect } " and " { $link execute-effect } "."
-{ $subsections POSTPONE: (( }
+{ $subsections POSTPONE: ( }
 { $see-also "effects" "inference" "tools.inference" } ;
 
 ARTICLE: "syntax-literals" "Literals"
@@ -625,13 +625,7 @@ HELP: P"
 HELP: (
 { $syntax "( inputs -- outputs )" }
 { $values { "inputs" "a list of tokens" } { "outputs" "a list of tokens" } }
-{ $description "A stack effect declaration. This is treated as a comment unless it appears inside a word definition." }
-{ $see-also "effects" } ;
-
-HELP: ((
-{ $syntax "(( inputs -- outputs ))" }
-{ $values { "inputs" "a list of tokens" } { "outputs" "a list of tokens" } }
-{ $description "Literal stack effect syntax." }
+{ $description "Literal stack effect syntax.  Also used by syntax words (such as " { $link POSTPONE: : } "), typically declaring the stack effect of the word definition which follows." }
 { $notes "Useful for meta-programming with " { $link define-declared } "." }
 { $examples
     { $example
@@ -642,13 +636,15 @@ HELP: ((
         ""
         "["
         "    my-dynamic-word 2 { [ + ] [ * ] } random curry"
-        "    (( x -- y )) define-declared"
+        "    ( x -- y ) define-declared"
         "] with-compilation-unit"
         ""
         "2 my-dynamic-word ."
         "4"
     }
-} ;
+}
+{ $see-also "effects" }
+;
 
 HELP: !
 { $syntax "! comment..." }
index c99802d44b1dbd662a700f040f91fb6c4ae9b550..32a187c12c0faf113314491f34ca8bfd319d4e0c 100644 (file)
@@ -226,11 +226,7 @@ IN: bootstrap.syntax
     ] define-core-syntax
 
     "(" [
-        ")" parse-effect drop
-    ] define-core-syntax
-
-    "((" [
-        "))" parse-effect suffix!
+        ")" parse-effect suffix!
     ] define-core-syntax
 
     "MAIN:" [
index c4bc8519a9ed48f81b99f42cdf8d1a04ba99a9a9..4dc53f769efd82a05773cb9f7479b7baac14f798 100644 (file)
@@ -3,4 +3,4 @@ IN: words.alias.tests
 
 ALIAS: foo +
 [ ] [ "IN: words.alias.tests CONSTANT: foo 5" eval( -- ) ] unit-test
-[ (( -- value )) ] [ \ foo stack-effect ] unit-test
+[ ( -- value ) ] [ \ foo stack-effect ] unit-test
index b518760bf980ded0d0fb3c6c8186c35f161a3c98..30503bc92fea3b73f59c670a18d0ff2d0ddc6c10 100644 (file)
@@ -7,11 +7,11 @@ PREDICATE: constant < word "constant" word-prop >boolean ;
 
 : define-constant ( word value -- )
     [ "constant" set-word-prop ]
-    [ [ ] curry (( -- value )) define-inline ] 2bi ;
+    [ [ ] curry ( -- value ) define-inline ] 2bi ;
 
 M: constant reset-word
     [ call-next-method ] [ f "constant" set-word-prop ] bi ;
 
 M: constant definer drop \ CONSTANT: f ;
 
-M: constant definition "constant" word-prop literalize 1quotation ;
\ No newline at end of file
+M: constant definition "constant" word-prop literalize 1quotation ;
index 34ec6b9174f41f3d6e041024e9a1a9f18ed42721..fdb7e862caf6acb11b6d2f90c85fa4ff93f1c229 100644 (file)
@@ -3,7 +3,7 @@
 USING: kernel sequences accessors definitions words ;
 IN: words.symbol
 
-PREDICATE: symbol < word ( obj -- ? )
+PREDICATE: symbol < word
     [ def>> ] [ [ ] curry ] bi sequence= ;
 
 M: symbol definer drop \ SYMBOL: f ;
@@ -11,4 +11,4 @@ M: symbol definer drop \ SYMBOL: f ;
 M: symbol definition drop f ;
 
 : define-symbol ( word -- )
-    dup [ ] curry (( -- value )) define-inline ;
+    dup [ ] curry ( -- value ) define-inline ;
index 442bf29ead393b14699df6b4e71fd7ac3b897f88..d4a60a5350052a975b2345d518da4055b9c6f10f 100644 (file)
@@ -330,7 +330,7 @@ HELP: define-temp
 { $notes
     "The following phrases are equivalent:"
     { $code "[ 2 2 + . ] call" }
-    { $code "[ 2 2 + . ] (( -- )) define-temp execute" }
+    { $code "[ 2 2 + . ] ( -- ) define-temp execute" }
     "This word must be called from inside " { $link with-compilation-unit } "."
 } ;
 
index 2734defaacee0c1ca4f8af1356439742600e10ae..2a9ccf1d995bbab9f4731d97efde9e6bf887832b 100644 (file)
@@ -6,7 +6,7 @@ IN: words.tests
 
 [ 4 ] [
     [
-        "poo" "words.tests" create [ 2 2 + ] (( -- n )) define-declared
+        "poo" "words.tests" create [ 2 2 + ] ( -- n ) define-declared
     ] with-compilation-unit
     "poo" "words.tests" lookup execute
 ] unit-test
index 56503d36920d180c06f789133a9685cd8b542ae3..cef5c1afc30e35d4e96ab2819399b2a845490962 100644 (file)
@@ -51,11 +51,11 @@ TUPLE: undefined word ;
     #! above.
     [ undefined f ] ;
 
-PREDICATE: deferred < word ( obj -- ? ) def>> undefined-def = ;
+PREDICATE: deferred < word def>> undefined-def = ;
 M: deferred definer drop \ DEFER: f ;
 M: deferred definition drop f ;
 
-PREDICATE: primitive < word ( obj -- ? ) "primitive" word-prop ;
+PREDICATE: primitive < word "primitive" word-prop ;
 M: primitive definer drop \ PRIMITIVE: f ;
 M: primitive definition drop f ;
 
index cfae6028bbaafe642e6bd61a6b360b000c1e30cc..d8f5e0e9cccb7a5dc92587752a537664abfc7443 100644 (file)
@@ -12,7 +12,7 @@ SYNTAX: HOLIDAY:
     dup "holiday" word-prop [
         dup H{ } clone "holiday" set-word-prop
     ] unless
-    parse-definition (( timestamp/n -- timestamp )) define-declared ;
+    parse-definition ( timestamp/n -- timestamp ) define-declared ;
 
 SYNTAX: HOLIDAY-NAME:
     [let scan-word "holiday" word-prop :> holidays scan-word :> name scan-object :> value
index eff9b6db2a88927beedb4d721960690ad078b2f3..6207b51d8c24db18ae52735fb6f26fcaa948fdd7 100644 (file)
@@ -1391,7 +1391,7 @@ SYMBOL: last-opcode
   dup " " join instruction-quotations
   [
      "_" join [ "emulate-" % % ] "" make create-in dup last-instruction set-global
-  ] dip (( cpu -- )) define-declared ;
+  ] dip ( cpu -- ) define-declared ;
 
 SYNTAX: INSTRUCTION:  ";" parse-tokens parse-instructions ;
 
index faf50bb39b049a94df86ef3b5b1f3c4b99c80d50..b57939fb26035c3eb659a36d37c9d6fbe5a58463 100644 (file)
@@ -183,7 +183,7 @@ MACRO: cuda-invoke ( module-name function-name arguments -- )
     3bi define-inline ;
 
 : define-cuda-global ( word module-name symbol-name -- )
-    '[ _ _ cuda-global ] (( -- device-ptr )) define-inline ;
+    '[ _ _ cuda-global ] ( -- device-ptr ) define-inline ;
 
 TUPLE: cuda-library name abi path handle ;
 ERROR: bad-cuda-abi abi ;
index b801cf8b824d05bc46150b7cc2b3c50848b4fc53..1d7d95b6364f3d5894aa11b466e65257c4037906 100644 (file)
@@ -24,7 +24,7 @@ IN: graphviz.notation
     [ 2nip ] [
         create dup
         1 <standard-combination>
-        (( graphviz-obj val -- graphviz-obj' ))
+        ( graphviz-obj val -- graphviz-obj' )
         define-generic
     ] if* ;
 
index f16278f9a206174960db79a718a60356c55ea492..794e42350974d69f1edf718fb2ba375eb7b43df0 100644 (file)
@@ -112,7 +112,7 @@ PRIVATE>
 : define-graphviz-by-engine ( -K -- )
     [ "graphviz.render" create dup make-inline ]
     [ [ graphviz ] curry ] bi
-    (( graph -O -T -- ))
+    ( graph -O -T -- )
     define-declared ;
 
 : define-graphviz-by-format ( -T -- )
@@ -121,7 +121,7 @@ PRIVATE>
         "graphviz.render" create dup make-inline
     ]
     [ [ graphviz* ] curry ] bi
-    (( graph -O -- ))
+    ( graph -O -- )
     define-declared ;
 
 PRIVATE>
index 119662348f0abfb031b9e19485f582bcb82b5c74..ca5517f408678ab90e6d89ed4b7d2dcd5f27603a 100644 (file)
@@ -29,7 +29,7 @@ SYMBOL: html
     #! Return the name and code for the <foo> patterned
     #! word.
     dup <foo> swap '[ _ <foo> write-html ]
-    (( -- )) html-word ;
+    ( -- ) html-word ;
 
 : <foo ( str -- <str ) "<" prepend ;
 
@@ -37,21 +37,21 @@ SYMBOL: html
     #! Return the name and code for the <foo patterned
     #! word.
     <foo dup '[ _ write-html ]
-    (( -- )) html-word ;
+    ( -- ) html-word ;
 
 : foo> ( str -- foo> ) ">" append ;
 
 : def-for-html-word-foo> ( name -- )
     #! Return the name and code for the foo> patterned
     #! word.
-    foo> [ ">" write-html ] (( -- )) html-word ;
+    foo> [ ">" write-html ] ( -- ) html-word ;
 
 : </foo> ( str -- </str> ) "</" ">" surround ;
 
 : def-for-html-word-</foo> ( name -- )
     #! Return the name and code for the </foo> patterned
     #! word.
-    </foo> dup '[ _ write-html ] (( -- )) html-word ;
+    </foo> dup '[ _ write-html ] ( -- ) html-word ;
 
 : <foo/> ( str -- <str/> ) "<" "/>" surround ;
 
@@ -59,14 +59,14 @@ SYMBOL: html
     #! Return the name and code for the <foo/> patterned
     #! word.
     dup <foo/> swap '[ _ <foo/> write-html ]
-    (( -- )) html-word ;
+    ( -- ) html-word ;
 
 : foo/> ( str -- str/> ) "/>" append ;
 
 : def-for-html-word-foo/> ( name -- )
     #! Return the name and code for the foo/> patterned
     #! word.
-    foo/> [ "/>" write-html ] (( -- )) html-word ;
+    foo/> [ "/>" write-html ] ( -- ) html-word ;
 
 : define-closed-html-word ( name -- )
     #! Given an HTML tag name, define the words for
@@ -92,7 +92,7 @@ SYMBOL: html
 
 : define-attribute-word ( name -- )
     dup "=" prepend swap
-    '[ _ write-attr ] (( string -- )) html-word ;
+    '[ _ write-attr ] ( string -- ) html-word ;
 
 ! Define some closed HTML tags
 [
index d24e88f90e3e334ded95eb4348dcfbef3400f4aa..3b741bd9634be49fe0bbf4d7150240e88fecbcfb 100644 (file)
@@ -62,7 +62,7 @@ CONSTRUCTOR: cond-value ( value quot -- cond-value ) ;
       { [ dup value>> mdb-persistent? ]
         [ [ value>> ] [ quot>> ] bi write-mdb-persistent ] }
       { [ dup value>> data-tuple? ]
-        [ [ value>> ] [ quot>> ] bi (( tuple -- assoc )) call-effect ]  }
+        [ [ value>> ] [ quot>> ] bi ( tuple -- assoc ) call-effect ]  }
       { [ dup value>> [ hashtable? ] [ linked-assoc? ] bi or ]
         [ [ value>> ] [ quot>> ] bi '[ _ write-field ] assoc-map ] }
       [ value>> ]
index b0ab2c1bc3499788995bfbd99a83eb7f83153f77..4b34513017d56fc27a6430dd18eb9f8d3d45b555 100644 (file)
@@ -4,7 +4,7 @@ IN: multi-methods.tests
 
 DEFER: fake
 \ fake H{ } clone "multi-methods" set-word-prop
-<< (( -- )) \ fake set-stack-effect >>
+<< ( -- ) \ fake set-stack-effect >>
 
 [
     [ "fake-{ }" ] [ { } \ fake method-word-name ] unit-test
@@ -24,7 +24,7 @@ DEFER: fake
 
     DEFER: testing
 
-    [ ] [ \ testing (( -- )) define-generic ] unit-test
+    [ ] [ \ testing ( -- ) define-generic ] unit-test
 
     [ t ] [ \ testing generic? ] unit-test
 ] with-compilation-unit
index 5b83a7d640747a769010bde818cd927ea2ec8951..0e06e9eb9364efdce2e5e54eac0140404f91c543 100644 (file)
@@ -159,5 +159,5 @@ SYNTAX: SOLUTION:
     scan-word
     [ name>> "-main" append create-in ] keep
     [ drop current-vocab main<< ]
-    [ [ . ] swap prefix (( -- )) define-declared ]
+    [ [ . ] swap prefix ( -- ) define-declared ]
     2bi ;
index 53f31b0b3dc4726ff7bc8ba3fcb1aedc28c27e7f..76aea30d7e7c46c115c45b7df49b9e7d8ac098f0 100644 (file)
@@ -26,6 +26,6 @@ IN: readline
        '[
             [ @ [ utf8 malloc-string ] [ f ] if* ]
             readline.ffi:rl_compentry_func_t
-        ] (( -- alien )) define-temp
+        ] ( -- alien ) define-temp
     ] with-compilation-unit execute( -- alien )
     readline.ffi:set-rl_completion_entry_function ;
index 1ce77f66a6304a1ef3e5057642a1805f46e6a131..a6dc84fbebea768ff053292f37f0af9aabaffc6e 100644 (file)
@@ -23,12 +23,12 @@ SYNTAX: set:
     '[ _ set ] ;
 
 : (define-variable) ( word getter setter -- )
-    [ (( -- value )) define-inline ]
+    [ ( -- value ) define-inline ]
     [
         [
             [ name>> "set: " prepend <uninterned-word> ]
             [ over "variable-setter" set-word-prop ] bi
-        ] dip (( value -- )) define-inline
+        ] dip ( value -- ) define-inline
     ] bi-curry* bi ;
 
 : define-variable ( word -- )
index fb498103b5ba9632e488b9876cd17196845c2f63..bb35dccdd90ac9e45655133cefd26a31a2902b51 100644 (file)
@@ -55,7 +55,7 @@ M: model -> dup , ;
 
 ERROR: not-in-template word ;
 SYNTAX: $ scan-new-word dup
-    [ [ dup templates get at [ nip , ] [ not-in-template ] if* ] curry (( -- )) define-declared "$" expect ]
+    [ [ dup templates get at [ nip , ] [ not-in-template ] if* ] curry ( -- ) define-declared "$" expect ]
     [ [ <placeholder> [ swap templates get set-at ] keep , ] curry ] bi append! ;
 
 : insert-gadget ( number parent gadget -- ) -rot [ but-last insert-nth ] change-children drop ;