]> gitweb.factorcode.org Git - factor.git/commitdiff
use butlast, butlast-slice
authorDoug Coleman <doug.coleman@gmail.com>
Tue, 6 May 2008 17:37:11 +0000 (12:37 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Tue, 6 May 2008 17:37:11 +0000 (12:37 -0500)
"extra/foo" resource-path -> "resource:extra/foo"

37 files changed:
extra/benchmark/knucleotide/knucleotide.factor
extra/combinators/lib/lib.factor
extra/help/lint/lint.factor
extra/html/parser/analyzer/analyzer.factor
extra/html/parser/utils/utils.factor
extra/http/http-tests.factor
extra/icfp/2006/2006.factor
extra/inverse/inverse.factor
extra/io/encodings/8-bit/8-bit.factor
extra/io/windows/nt/launcher/launcher-tests.factor
extra/koszul/koszul.factor
extra/locals/locals.factor
extra/mortar/mortar.factor
extra/multiline/multiline.factor
extra/openssl/openssl-tests.factor
extra/porter-stemmer/porter-stemmer-tests.factor
extra/porter-stemmer/porter-stemmer.factor
extra/project-euler/002/002.factor
extra/project-euler/022/022.factor
extra/project-euler/042/042.factor
extra/project-euler/059/059.factor
extra/project-euler/067/067.factor
extra/project-euler/079/079.factor
extra/rss/rss-tests.factor
extra/space-invaders/space-invaders.factor
extra/tangle/tangle.factor
extra/tools/deploy/backend/backend.factor
extra/tuple-syntax/tuple-syntax.factor
extra/ui/gestures/gestures.factor
extra/unicode/breaks/breaks.factor
extra/unicode/data/data.factor
extra/xml/tests/soap.factor
extra/xml/tests/test.factor
extra/xmode/catalog/catalog.factor
extra/xmode/code2html/code2html.factor
extra/xmode/utilities/utilities-tests.factor
extra/yahoo/yahoo-tests.factor

index e06b81f6deb7e49eb6195e9ae45db45b6f93d266..6bd2d69cfa50a1f58ef820243adcf15658942cb9 100644 (file)
@@ -56,7 +56,7 @@ IN: benchmark.knucleotide
     drop ;
 
 : knucleotide ( -- )
-    "extra/benchmark/knucleotide/knucleotide-input.txt" resource-path
+    "resource:extra/benchmark/knucleotide/knucleotide-input.txt"
     ascii [ read-input ] with-file-reader
     process-input ;
 
index 84b41a91ff6ae3006c23ecd70b61907f5add5f0a..5dfe8527c1a80d75b24f6d95535bafacee4338b4 100755 (executable)
@@ -169,3 +169,8 @@ MACRO: multikeep ( word out-indexes -- ... )
 : generate ( generator predicate -- obj )
     [ dup ] swap [ dup [ nip ] unless not ] 3compose
     swap [ ] do-while ;
+
+MACRO: predicates ( seq -- quot/f )
+    dup [ 1quotation [ drop ] prepend ] map
+    >r [ [ dup ] prepend ] map r> zip [ drop f ] suffix
+    [ cond ] curry ;
index fc4b7f6f25abb9c94674ed6d99a6793ab82b01d9..a120d791aa97dbdb8aeeccf0cdfe742f24691b6b 100755 (executable)
@@ -10,7 +10,7 @@ IN: help.lint
 
 : check-example ( element -- )
     rest [
-        1 head* "\n" join 1vector
+        butlast "\n" join 1vector
         [
             use [ clone ] change
             [ eval>string ] with-datastack
index 160b95ab1d3209a04b5205343ca8ff03dd51a183..1912cfb65c2ee6c2456bb90a09f773d6181f83d2 100755 (executable)
@@ -99,7 +99,7 @@ IN: html.parser.analyzer
     
 : find-between ( i/f tag/f vector -- vector )
     find-between* dup length 3 >= [
-        [ rest-slice 1 head-slice* ] keep like
+        [ rest-slice butlast-slice ] keep like
     ] when ;
 
 : find-between-first ( string vector -- vector' )
index 0ae75e41fdef302f51a6a02b03bb0e41c9050709..c0eee57eada0b3f68bebd61e78f0bc0083d9eb2e 100644 (file)
@@ -36,7 +36,7 @@ IN: html.parser.utils
     dup quoted? [ quote ] unless ;
 
 : unquote ( str -- newstr )
-    dup quoted? [ 1 head-slice* rest-slice >string ] when ;
+    dup quoted? [ butlast-slice rest-slice >string ] when ;
 
 : quote? ( ch -- ? ) "'\"" member? ;
 
index 07b34f17c300b14679bdb66b2b139bef3ce359be..21eb241b846fd5896de99ad1a2d58d2a76a6d0b2 100755 (executable)
@@ -166,7 +166,7 @@ test-db [
         <dispatcher>
             add-quit-action
             <dispatcher>
-                "extra/http/test" resource-path <static> >>default
+                "resource:extra/http/test" <static> >>default
             "nested" add-responder
             <action>
                 [ "redirect-loop" f <standard-redirect> ] >>display
@@ -178,7 +178,7 @@ test-db [
 ] unit-test
 
 [ t ] [
-    "extra/http/test/foo.html" resource-path ascii file-contents
+    "resource:extra/http/test/foo.html" ascii file-contents
     "http://localhost:1237/nested/foo.html" http-get =
 ] unit-test
 
index e88301c7f88ac7d8d45d7747def55e53580bd88e..ca6f9d590553ac9cc3d6e610caa0494bbc56fbd0 100755 (executable)
@@ -148,4 +148,4 @@ SYMBOL: open-arrays
     init f exec-loop ;
 
 : run-sand ( -- )
-    "extra/icfp/2006/sandmark.umz" resource-path run-prog ;
+    "resource:extra/icfp/2006/sandmark.umz" run-prog ;
index 265675f8dfd441bb3aff268a5df92abb697b3619..8c19ade49938344299584b1ecde05d6c5da52a5a 100755 (executable)
@@ -197,7 +197,7 @@ DEFER: _
 
 \ prefix [ unclip ] define-inverse
 \ unclip [ prefix ] define-inverse
-\ suffix [ dup 1 head* swap peek ] define-inverse
+\ suffix [ dup butlast swap peek ] define-inverse
 
 ! Constructor inverse
 : deconstruct-pred ( class -- quot )
index 3fbb3908e272254c24f01bf3e329a9497e43e09b..88414efd16bfaab66d22c6e7c3713914e464d759 100755 (executable)
@@ -30,9 +30,8 @@ IN: io.encodings.8-bit
 } ;
 
 : encoding-file ( file-name -- stream )
-    "extra/io/encodings/8-bit/" ".TXT"
-    swapd 3append resource-path
-    ascii <file-reader> ;
+    "resource:extra/io/encodings/8-bit/" ".TXT"
+    swapd 3append ascii <file-reader> ;
 
 : tail-if ( seq n -- newseq )
     2dup swap length <= [ tail ] [ drop ] if ;
index c5c0e6dec2e99136280f75e9f1736f688cc71811..254f845c48413817505538e0d15d88bf44919f4d 100755 (executable)
@@ -41,7 +41,7 @@ sequences parser assocs hashtables math continuations ;
 ] unit-test\r
 \r
 [ ] [\r
-    "extra/io/windows/nt/launcher/test" resource-path [\r
+    "resource:extra/io/windows/nt/launcher/test" [\r
         <process>\r
             vm "-script" "stderr.factor" 3array >>command\r
             "out.txt" temp-file >>stdout\r
@@ -59,7 +59,7 @@ sequences parser assocs hashtables math continuations ;
 ] unit-test\r
 \r
 [ ] [\r
-    "extra/io/windows/nt/launcher/test" resource-path [\r
+    "resource:extra/io/windows/nt/launcher/test" [\r
         <process>\r
             vm "-script" "stderr.factor" 3array >>command\r
             "out.txt" temp-file >>stdout\r
@@ -73,7 +73,7 @@ sequences parser assocs hashtables math continuations ;
 ] unit-test\r
 \r
 [ "output" ] [\r
-    "extra/io/windows/nt/launcher/test" resource-path [\r
+    "resource:extra/io/windows/nt/launcher/test" [\r
         <process>\r
             vm "-script" "stderr.factor" 3array >>command\r
             "err2.txt" temp-file >>stderr\r
@@ -86,7 +86,7 @@ sequences parser assocs hashtables math continuations ;
 ] unit-test\r
 \r
 [ t ] [\r
-    "extra/io/windows/nt/launcher/test" resource-path [\r
+    "resource:extra/io/windows/nt/launcher/test" [\r
         <process>\r
             vm "-script" "env.factor" 3array >>command\r
         ascii <process-reader> contents\r
@@ -96,7 +96,7 @@ sequences parser assocs hashtables math continuations ;
 ] unit-test\r
 \r
 [ t ] [\r
-    "extra/io/windows/nt/launcher/test" resource-path [\r
+    "resource:extra/io/windows/nt/launcher/test" [\r
         <process>\r
             vm "-script" "env.factor" 3array >>command\r
             +replace-environment+ >>environment-mode\r
@@ -108,7 +108,7 @@ sequences parser assocs hashtables math continuations ;
 ] unit-test\r
 \r
 [ "B" ] [\r
-    "extra/io/windows/nt/launcher/test" resource-path [\r
+    "resource:extra/io/windows/nt/launcher/test" [\r
         <process>\r
             vm "-script" "env.factor" 3array >>command\r
             { { "A" "B" } } >>environment\r
@@ -119,7 +119,7 @@ sequences parser assocs hashtables math continuations ;
 ] unit-test\r
 \r
 [ f ] [\r
-    "extra/io/windows/nt/launcher/test" resource-path [\r
+    "resource:extra/io/windows/nt/launcher/test" [\r
         <process>\r
             vm "-script" "env.factor" 3array >>command\r
             { { "HOME" "XXX" } } >>environment\r
index e9de82ebb64fb5036a082f3dd333aed7e604c949..5c337f8ce75475f7ebf076b60fdc30f8b1548646 100755 (executable)
@@ -184,7 +184,7 @@ DEFER: (d)
     [ length ] keep [ (graded-ker/im-d) ] curry map ;
 
 : graded-betti ( generators -- seq )
-    basis graded graded-ker/im-d flip first2 1 head* 0 prefix v- ;
+    basis graded graded-ker/im-d flip first2 butlast 0 prefix v- ;
 
 ! Bi-graded for two-step complexes
 : (bigraded-ker/im-d) ( u-deg z-deg bigraded-basis -- null/rank )
index d18017f69bf893e04d2a0e1558c6fca596bc2994..4ad81ef00ac435de80f7a13fb0fc34d8df527233 100755 (executable)
@@ -101,7 +101,7 @@ UNION: special local quote local-word local-reader local-writer ;
     ] if ;
 
 : point-free-body ( quot args -- newquot )
-    >r 1 head-slice* r> [ localize ] curry map concat ;
+    >r butlast-slice r> [ localize ] curry map concat ;
 
 : point-free-end ( quot args -- newquot )
     over peek special?
index b7862af7ac4e59a3f5d061e7b55412d455be2e02..3d4d287ace2d905d244f0425a2dadc05d8effb54 100644 (file)
@@ -122,7 +122,7 @@ over class-class-methods assoc-stack call ;
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 : send-message-next ( object message -- )
-over object-class class-methods 1 head* assoc-stack call ;
+over object-class class-methods butlast assoc-stack call ;
 
 : <-~ scan parsed \ send-message-next parsed ; parsing
 
index e140c5227c254310c76b0571203fb089222f3290..acff8c8669f91593b891c43ca3f9c1235f46829c 100755 (executable)
@@ -14,7 +14,7 @@ IN: multiline
     ] [ ";" unexpected-eof ] if* ;
 
 : parse-here ( -- str )
-    [ (parse-here) ] "" make 1 head*
+    [ (parse-here) ] "" make butlast
     lexer get next-line ;
 
 : STRING:
@@ -34,7 +34,7 @@ IN: multiline
     [
         lexer get lexer-column swap (parse-multiline-string)
         lexer get set-lexer-column
-    ] "" make rest 1 head* ;
+    ] "" make rest butlast ;
 
 : <"
     "\">" parse-multiline-string parsed ; parsing
index f42c611fc0e17a14a5f6df9f6771655871f47e8d..2b840bdb9c1a2f71c64f645956ec0114524c50c3 100755 (executable)
@@ -27,7 +27,7 @@ math.parser openssl prettyprint sequences tools.test ;
 
 [ ] [ ssl-v23 new-ctx ] unit-test
 
-[ ] [ get-ctx "extra/openssl/test/server.pem" resource-path use-cert-chain ] unit-test
+[ ] [ get-ctx "resource:extra/openssl/test/server.pem" use-cert-chain ] unit-test
 
 ! TODO: debug 'Memory protection fault at address 6c'
 ! get-ctx 1024 "char" malloc-array 1024 0 f password-cb set-default-passwd
@@ -35,10 +35,10 @@ math.parser openssl prettyprint sequences tools.test ;
 [ ] [ get-ctx "password" ascii string>alien set-default-passwd-userdata ] unit-test
 
 ! Enter PEM pass phrase: password
-[ ] [ get-ctx "extra/openssl/test/server.pem" resource-path
+[ ] [ get-ctx "resource:extra/openssl/test/server.pem"
 SSL_FILETYPE_PEM use-private-key ] unit-test
 
-[ ] [ get-ctx "extra/openssl/test/root.pem" resource-path f
+[ ] [ get-ctx "resource:extra/openssl/test/root.pem" f
 verify-load-locations ] unit-test
 
 [ ] [ get-ctx 1 set-verify-depth ] unit-test
@@ -47,7 +47,7 @@ verify-load-locations ] unit-test
 ! Load Diffie-Hellman parameters
 ! =========================================================
 
-[ ] [ "extra/openssl/test/dh1024.pem" resource-path "r" bio-new-file ] unit-test
+[ ] [ "resource:extra/openssl/test/dh1024.pem" "r" bio-new-file ] unit-test
 
 [ ] [ get-bio f f f read-pem-dh-params ] unit-test
 
@@ -131,7 +131,7 @@ verify-load-locations ] unit-test
 ! Dump errors to file
 ! =========================================================
 
-[ ] [ "extra/openssl/test/errors.txt" resource-path "w" bio-new-file ] unit-test
+[ ] [ "resource:extra/openssl/test/errors.txt" "w" bio-new-file ] unit-test
 
 [ 6 ] [ get-bio "Hello\n" bio-print ] unit-test
 
index 32386fed2b961c411dc7f52b098609226f7dfd2f..42c358646bde23172e313ed7a9d914d7dbecf3e3 100644 (file)
@@ -56,11 +56,9 @@ io.files io.encodings.utf8 ;
 [ "hell" ] [ "hell" step5 "" like ] unit-test
 [ "mate" ] [ "mate" step5 "" like ] unit-test
 
-: resource-lines resource-path utf8 file-lines ;
-
 [ { } ] [
-    "extra/porter-stemmer/test/voc.txt" resource-lines
+    "resource:extra/porter-stemmer/test/voc.txt" utf8 file-lines
     [ stem ] map
-    "extra/porter-stemmer/test/output.txt" resource-lines
+    "resource:extra/porter-stemmer/test/output.txt" utf8 file-lines
     [ 2array ] 2map [ first2 = not ] filter
 ] unit-test
index 81820e0152801d685c89bbe8353f5468049c113e..f6975ccce7dd85c1b06391e5dd6abc78fd5a9995 100644 (file)
@@ -66,8 +66,6 @@ USING: kernel math parser sequences combinators splitting ;
 : r ( str oldsuffix newsuffix -- str )
     pick consonant-seq 0 > [ nip ] [ drop ] if append ;
 
-: butlast ( seq -- seq ) 1 head-slice* ;
-
 : step1a ( str -- newstr )
     dup peek CHAR: s = [
         {
@@ -95,7 +93,7 @@ USING: kernel math parser sequences combinators splitting ;
         { [ "iz" ?tail ] [ "ize" append ] }
         {
             [ dup length 1- over double-consonant? ]
-            [ dup "lsz" last-is? [ butlast ] unless ]
+            [ dup "lsz" last-is? [ butlast-slice ] unless ]
         }
         {
             [ t ]
@@ -122,7 +120,7 @@ USING: kernel math parser sequences combinators splitting ;
     } cond ;
 
 : step1c ( str -- newstr )
-    dup butlast stem-vowel? [
+    dup butlast-slice stem-vowel? [
         "y" ?tail [ "i" append ] when
     ] when ;
 
@@ -198,18 +196,18 @@ USING: kernel math parser sequences combinators splitting ;
 : remove-e? ( str -- ? )
     dup consonant-seq dup 1 >
     [ 2drop t ]
-    [ 1 = [ butlast cvc? not ] [ drop f ] if ] if ;
+    [ 1 = [ butlast-slice cvc? not ] [ drop f ] if ] if ;
 
 : remove-e ( str -- newstr )
     dup peek CHAR: e = [
-        dup remove-e? [ butlast ] when
+        dup remove-e? [ butlast-slice ] when
     ] when ;
 
 : ll->l ( str -- newstr )
     {
         { [ dup peek CHAR: l = not ] [ ] }
         { [ dup length 1- over double-consonant? not ] [ ] }
-        { [ dup consonant-seq 1 > ] [ butlast ] }
+        { [ dup consonant-seq 1 > ] [ butlast-slice ] }
         [ ]
     } cond ;
 
index c2def03ace0167ea31c99e270a08841ded85986d..6c9d331c90f4ead966f93a2735a52e8b57220a32 100644 (file)
@@ -41,7 +41,7 @@ PRIVATE>
 
 : fib-upto* ( n -- seq )
     0 1 [ pick over >= ] [ tuck + dup ] [ ] unfold 3nip
-    1 head-slice* { 0 1 } prepend ;
+    butlast-slice { 0 1 } prepend ;
 
 : euler002a ( -- answer )
     1000000 fib-upto* [ even? ] filter sum ;
index 452d2ec63730f080aa5ce93232acafb5964405d6..82054ce014048b6b5cb790415259b359ed736371 100644 (file)
@@ -28,7 +28,7 @@ IN: project-euler.022
 <PRIVATE
 
 : source-022 ( -- seq )
-    "extra/project-euler/022/names.txt" resource-path
+    "resource:extra/project-euler/022/names.txt"
     ascii file-contents [ quotable? ] filter "," split ;
 
 : name-scores ( seq -- seq )
index 1fda8a402a78e55dd6cd5e170f957d0f355916e8..4111fe80091555644b38941deaf45164624e83ed 100644 (file)
@@ -30,7 +30,7 @@ IN: project-euler.042
 <PRIVATE
 
 : source-042 ( -- seq )
-    "extra/project-euler/042/words.txt" resource-path
+    "resource:extra/project-euler/042/words.txt"
     ascii file-contents [ quotable? ] filter "," split ;
 
 : (triangle-upto) ( limit n -- )
index bb95ab9024d689010bb48a8068fa6a704d80c22a..25c086144f71e5c94e9f41db9185643899364194 100644 (file)
@@ -52,7 +52,7 @@ IN: project-euler.059
 <PRIVATE
 
 : source-059 ( -- seq )
-    "extra/project-euler/059/cipher1.txt" resource-path
+    "resource:extra/project-euler/059/cipher1.txt"
     ascii file-contents [ blank? ] right-trim "," split
     [ string>number ] map ;
 
@@ -78,7 +78,7 @@ INSTANCE: rollover immutable-sequence
     frequency-analysis sort-values keys peek ;
 
 : crack-key ( seq key-length -- key )
-    [ " " decrypt ] dip group 1 head-slice*
+    [ " " decrypt ] dip group butlast-slice
     flip [ most-frequent ] map ;
 
 PRIVATE>
index 436ccde77609ba8fc9e50d85a3f2005c99c36a2e..3e16996e0424c4cea61404d9349996ce286e5ca2 100644 (file)
@@ -38,7 +38,7 @@ IN: project-euler.067
 <PRIVATE
 
 : source-067 ( -- seq )
-    "extra/project-euler/067/triangle.txt" resource-path
+    "resource:extra/project-euler/067/triangle.txt"
     ascii file-lines [ " " split [ string>number ] map ] map ;
 
 PRIVATE>
index 3674804b0c2d49945782b80894bb166fb708b4c8..cde4dc079b3401aa1912e6549ab2e78b2988f0e9 100644 (file)
@@ -27,7 +27,7 @@ IN: project-euler.079
 <PRIVATE
 
 : source-079 ( -- seq )
-    "extra/project-euler/079/keylog.txt" resource-path ascii file-lines ;
+    "resource:extra/project-euler/079/keylog.txt" ascii file-lines ;
 
 : >edges ( seq -- seq )
     [
index 252defe99bb59e3dcc19f99250e3e1446cb2927c..0e6bb0b9c15c91fe11289fcb605a3869c4ae3219 100755 (executable)
@@ -22,7 +22,7 @@ IN: rss.tests
             f
         }
     }
-} ] [ "extra/rss/rss1.xml" resource-path load-news-file ] unit-test
+} ] [ "resource:extra/rss/rss1.xml" load-news-file ] unit-test
 [ T{
     feed
     f
@@ -39,4 +39,4 @@ IN: rss.tests
             T{ timestamp f 2003 12 13 8 29 29 T{ duration f 0 0 0 -4 0 0 } }
         }
     }
-} ] [ "extra/rss/atom.xml" resource-path load-news-file ] unit-test
+} ] [ "resource:extra/rss/atom.xml" load-news-file ] unit-test
index 200257b31c53ef442a1aa502be553ca3191288e4..f773d331b1266a7dd5532f3f6b103a8e5bd9493b 100755 (executable)
@@ -45,21 +45,21 @@ TUPLE: space-invaders port1 port2i port2o port3o port4lo port4hi port5o bitmap s
 
 : init-sound ( index cpu filename  -- )
   swapd >r space-invaders-sounds nth AL_BUFFER r> 
-  resource-path create-buffer-from-wav set-source-param ; 
+  create-buffer-from-wav set-source-param ; 
 
 : init-sounds ( cpu -- )
   init-openal
   [ 9 gen-sources swap set-space-invaders-sounds ] keep
-  [ SOUND-SHOT        "extra/space-invaders/resources/Shot.wav" init-sound ] keep 
-  [ SOUND-UFO         "extra/space-invaders/resources/Ufo.wav" init-sound ] keep 
+  [ SOUND-SHOT        "resource:extra/space-invaders/resources/Shot.wav" init-sound ] keep 
+  [ SOUND-UFO         "resource:extra/space-invaders/resources/Ufo.wav" init-sound ] keep 
   [ space-invaders-sounds SOUND-UFO swap nth AL_LOOPING AL_TRUE set-source-param ] keep
-  [ SOUND-BASE-HIT    "extra/space-invaders/resources/BaseHit.wav" init-sound ] keep 
-  [ SOUND-INVADER-HIT "extra/space-invaders/resources/InvHit.wav" init-sound ] keep 
-  [ SOUND-WALK1       "extra/space-invaders/resources/Walk1.wav" init-sound ] keep 
-  [ SOUND-WALK2       "extra/space-invaders/resources/Walk2.wav" init-sound ] keep 
-  [ SOUND-WALK3       "extra/space-invaders/resources/Walk3.wav" init-sound ] keep 
-  [ SOUND-WALK4       "extra/space-invaders/resources/Walk4.wav" init-sound ] keep 
-  [ SOUND-UFO-HIT    "extra/space-invaders/resources/UfoHit.wav" init-sound ] keep
+  [ SOUND-BASE-HIT    "resource:extra/space-invaders/resources/BaseHit.wav" init-sound ] keep 
+  [ SOUND-INVADER-HIT "resource:extra/space-invaders/resources/InvHit.wav" init-sound ] keep 
+  [ SOUND-WALK1       "resource:extra/space-invaders/resources/Walk1.wav" init-sound ] keep 
+  [ SOUND-WALK2       "resource:extra/space-invaders/resources/Walk2.wav" init-sound ] keep 
+  [ SOUND-WALK3       "resource:extra/space-invaders/resources/Walk3.wav" init-sound ] keep 
+  [ SOUND-WALK4       "resource:extra/space-invaders/resources/Walk4.wav" init-sound ] keep 
+  [ SOUND-UFO-HIT    "resource:extra/space-invaders/resources/UfoHit.wav" init-sound ] keep
   f swap set-space-invaders-looping? ;
 
 : <space-invaders> ( -- cpu )
index afaf3da3cd9c24d1c7aee765a1c3eec3fc6a9ed8..52c454f97f3bbfae98880f06f3ec3b2b71f9aea7 100644 (file)
@@ -65,7 +65,7 @@ TUPLE: tangle-dispatcher < dispatcher tangle ;
 : <tangle-dispatcher> ( tangle -- dispatcher )
     tangle-dispatcher new-dispatcher swap >>tangle
     <path-responder> >>default
-    "extra/tangle/resources" resource-path <static> "resources" add-responder
+    "resource:extra/tangle/resources" <static> "resources" add-responder
     <node-responder> "node" add-responder
     <action> [ all-node-ids <json-response> ] >>display "all" add-responder ;
 
index ed466b69656432ea482b5837c6422f0590a0ccc9..60d66e89cdd703c2f0d93499c1cd8ed44a5d2890 100755 (executable)
@@ -63,11 +63,11 @@ DEFER: ?make-staging-image
         dup empty? [
             "-i=" my-boot-image-name append ,
         ] [
-            dup 1 head* ?make-staging-image
+            dup butlast ?make-staging-image
 
             "-resource-path=" "" resource-path append ,
 
-            "-i=" over 1 head* staging-image-name append ,
+            "-i=" over butlast staging-image-name append ,
 
             "-run=tools.deploy.restage" ,
         ] if
index 219df5197cfda5fc181ed85d8fbdad5f2b1cc84b..2b9b2c3fb4954b902a1013fbe2706ab3193612a4 100755 (executable)
@@ -7,7 +7,7 @@ IN: tuple-syntax
 
 : parse-slot-writer ( tuple -- slot# )
     scan dup "}" = [ 2drop f ] [
-        1 head* swap object-slots slot-named slot-spec-offset
+        butlast swap object-slots slot-named slot-spec-offset
     ] if ;
 
 : parse-slots ( accum tuple -- accum tuple )
index 0970bd6027720fa0537e41390371274724c2d8d2..d13e284160bb21ee0b24fa82ecd6434875ec7431 100755 (executable)
@@ -54,7 +54,7 @@ TUPLE: zoom-in-action ;  C: <zoom-in-action> zoom-in-action
 TUPLE: zoom-out-action ; C: <zoom-out-action> zoom-out-action
 
 : generalize-gesture ( gesture -- newgesture )
-    tuple>array 1 head* >tuple ;
+    tuple>array butlast >tuple ;
 
 ! Modifiers
 SYMBOLS: C+ A+ M+ S+ ;
index 9ee65c00182ddf742c46cc7bac84a5187c90ed01..9635a62e49b45351b359b262693f5cd004700178 100644 (file)
@@ -30,7 +30,7 @@ CATEGORY: grapheme-control Zl Zp Cc Cf ;
     concat [ dup ] H{ } map>assoc ;
 
 : other-extend-lines ( -- lines )
-    "extra/unicode/PropList.txt" resource-path ascii file-lines ;
+    "resource:extra/unicode/PropList.txt" ascii file-lines ;
 
 VALUE: other-extend
 
index 85ce50acb9585c7c82d950d8d58a911f1e296027..f33338137a89a34653e14772e0def70eaf1841c3 100755 (executable)
@@ -14,7 +14,7 @@ IN: unicode.data
     ascii file-lines [ ";" split ] map ;
 
 : load-data ( -- data )
-    "extra/unicode/UnicodeData.txt" resource-path data ;
+    "resource:extra/unicode/UnicodeData.txt" data ;
 
 : (process-data) ( index data -- newdata )
     [ [ nth ] keep first swap 2array ] with map
@@ -120,7 +120,7 @@ VALUE: special-casing
 
 ! Special casing data
 : load-special-casing ( -- special-casing )
-    "extra/unicode/SpecialCasing.txt" resource-path data
+    "resource:extra/unicode/SpecialCasing.txt" data
     [ length 5 = ] filter
     [ [ set-code-point ] each ] H{ } make-assoc ;
 
index 775930025f0e7769f66f9fc405603b014407df85..c7452bb079f38c51c0c216e88959263bd0ad2b38 100755 (executable)
@@ -10,6 +10,6 @@ IN: xml.tests
     [ assemble-data ] map ;
 
 [ "http://www.foxnews.com/oreilly/" ] [
-    "extra/xml/tests/soap.xml" resource-path file>xml
+    "resource:extra/xml/tests/soap.xml" file>xml
     parse-result first first
 ] unit-test
index d85345b3c72d87fca3ea4f0a974796df10ff9bb9..77949301440ddfad9c97863030bed8342709957f 100644 (file)
@@ -9,7 +9,7 @@ USING: kernel xml tools.test io namespaces sequences xml.errors xml.entities
 \ read-xml must-infer
 
 SYMBOL: xml-file
-[ ] [ "extra/xml/tests/test.xml" resource-path
+[ ] [ "resource:extra/xml/tests/test.xml"
     [ file>xml ] with-html-entities xml-file set ] unit-test
 [ "1.0" ] [ xml-file get xml-prolog prolog-version ] unit-test
 [ f ] [ xml-file get xml-prolog prolog-standalone ] unit-test
index 22d3217ee69c89b3e94514ee2a88a8bdb9a65682..277439c0cdb1bf3241b9693b569c387be9406fda 100755 (executable)
@@ -24,7 +24,7 @@ TAGS>
     ] keep ;
 
 : load-catalog ( -- modes )
-    "extra/xmode/modes/catalog" resource-path
+    "resource:extra/xmode/modes/catalog"
     file>xml parse-modes-tag ;
 
 : modes ( -- assoc )
@@ -38,8 +38,8 @@ TAGS>
 MEMO: (load-mode) ( name -- rule-sets )
     modes at [
         mode-file
-        "extra/xmode/modes/" prepend
-        resource-path utf8 <file-reader> parse-mode
+        "resource:extra/xmode/modes/" prepend
+        utf8 <file-reader> parse-mode
     ] [
         "text" (load-mode)
     ] if* ;
index f6df23b9b2d4e0d4412b30c17a7a97514fe3a008..3977f4277c37a7f0bd9b33881560c59b8c90e319 100755 (executable)
@@ -20,8 +20,8 @@ IN: xmode.code2html
 
 : default-stylesheet ( -- )
     <style>
-        "extra/xmode/code2html/stylesheet.css"
-        resource-path utf8 file-contents write
+        "resource:extra/xmode/code2html/stylesheet.css"
+        utf8 file-contents write
     </style> ;
 
 : htmlize-stream ( path stream -- )
index 99689d88191fb72566ea93aa080d34dcf9acf194..a2183edbc9f936c88ec0c59a44903fac2ea423d8 100755 (executable)
@@ -48,6 +48,6 @@ TAGS>
         "This is a great company"
     }
 ] [
-    "extra/xmode/utilities/test.xml"
-    resource-path file>xml parse-company-tag
+    "resource:extra/xmode/utilities/test.xml"
+    file>xml parse-company-tag
 ] unit-test
index 197fa4900b3cd68473f158dfa8c39986d8877778..46d05ce720212d02c28526d92c77a12d6a3d1d92 100644 (file)
@@ -6,6 +6,6 @@ USING: tools.test yahoo kernel io.files xml sequences ;
     "Official Foo Fighters"
     "http://www.foofighters.com/"
     "Official site with news, tour dates, discography, store, community, and more."
-} ] [ "extra/yahoo/test-results.xml" resource-path file>xml parse-yahoo first ] unit-test
+} ] [ "resource:extra/yahoo/test-results.xml" file>xml parse-yahoo first ] unit-test
 
 [ "http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=Factor-search&query=hi&results=1" ] [ "hi" 1 query ] unit-test