]> gitweb.factorcode.org Git - factor.git/commitdiff
Updating code in basis and extra for stricter vocab search path semantics
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 15 May 2009 04:23:06 +0000 (23:23 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 15 May 2009 04:23:06 +0000 (23:23 -0500)
68 files changed:
basis/alien/fortran/fortran.factor
basis/channels/channels.factor
basis/checksums/sha1/sha1.factor
basis/db/errors/postgresql/postgresql.factor
basis/db/tester/tester.factor
basis/db/tuples/tuples.factor
basis/formatting/formatting.factor
basis/furnace/sessions/sessions-docs.factor
basis/game-input/iokit/iokit.factor
basis/help/html/html.factor
basis/html/templates/chloe/chloe-docs.factor
basis/html/templates/chloe/chloe.factor
basis/html/templates/chloe/syntax/syntax.factor
basis/html/templates/fhtml/fhtml.factor
basis/http/server/server.factor
basis/inverse/inverse.factor
basis/io/encodings/gb18030/gb18030.factor
basis/io/mmap/mmap.factor
basis/locals/locals-tests.factor
basis/peg/ebnf/ebnf.factor
basis/random/dummy/dummy.factor
basis/regexp/classes/classes.factor
basis/soundex/soundex.factor
basis/tools/files/unix/unix.factor
basis/ui/tools/listener/completion/completion.factor
basis/ui/tools/listener/listener.factor
basis/unicode/collation/collation.factor
basis/xml/syntax/syntax.factor
basis/xmode/code2html/code2html.factor
basis/xmode/marker/marker.factor
extra/4DNav/turtle/turtle.factor
extra/4DNav/window3D/window3D.factor
extra/benchmark/backtrack/backtrack.factor
extra/bunny/outlined/outlined.factor
extra/fjsc/fjsc.factor
extra/fuel/eval/eval.factor
extra/fuel/xref/xref.factor
extra/google-tech-talk/google-tech-talk.factor
extra/hashcash/hashcash.factor
extra/html/parser/analyzer/analyzer.factor
extra/id3/id3.factor
extra/infix/infix.factor
extra/jamshred/tunnel/tunnel.factor
extra/koszul/koszul.factor
extra/mason/common/common.factor
extra/mason/mason.factor
extra/mason/release/release.factor
extra/mongodb/benchmark/benchmark.factor
extra/mongodb/tuple/tuple.factor
extra/otug-talk/otug-talk.factor
extra/peg/javascript/parser/parser.factor
extra/project-euler/common/common.factor
extra/sandbox/authors.txt [deleted file]
extra/sandbox/sandbox-tests.factor [deleted file]
extra/sandbox/sandbox.factor [deleted file]
extra/sandbox/summary.txt [deleted file]
extra/sandbox/syntax/syntax.factor [deleted file]
extra/spheres/spheres.factor
extra/tetris/tetris.factor
extra/ui/gadgets/book-extras/book-extras.factor
extra/vpri-talk/vpri-talk.factor
extra/webapps/site-watcher/site-watcher.factor
extra/webapps/wiki/wiki.factor
unmaintained/sandbox/authors.txt [new file with mode: 0644]
unmaintained/sandbox/sandbox-tests.factor [new file with mode: 0644]
unmaintained/sandbox/sandbox.factor [new file with mode: 0644]
unmaintained/sandbox/summary.txt [new file with mode: 0644]
unmaintained/sandbox/syntax/syntax.factor [new file with mode: 0644]

index b27c62b9a1399691b3bae335eeb2bebcddcf78b8..54b799f6750f2b9d3d3fb54ef72a58a43638f0b4 100644 (file)
@@ -421,7 +421,7 @@ PRIVATE>
 : define-fortran-record ( name vocab fields -- )
     [ >lower ] [ ] [ fortran-record>c-struct ] tri* define-struct ;
 
-SYNTAX: RECORD: scan in get parse-definition define-fortran-record ;
+SYNTAX: RECORD: scan current-vocab parse-definition define-fortran-record ;
 
 : set-fortran-abi ( library -- )
     library-fortran-abis get-global at fortran-abi set ;
index 9b8c418634183d6cae0c4b9093e4461874354f22..0eb7881f95915c9c336ba09400e731ac2aaf1d1f 100644 (file)
@@ -3,7 +3,7 @@
 !
 ! Channels - based on ideas from newsqueak
 USING: kernel sequences threads continuations
-random math accessors random ;
+random math accessors ;
 IN: channels
 
 TUPLE: channel receivers senders ;
index e7aee0dd098f808a46e36e2f30ec1c51fa4fecfc..707aa66ba6dc0bb79f2f7b24cb5f3f67b2853b71 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2006, 2008 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays combinators kernel io io.encodings.binary io.files
-io.streams.byte-array math.vectors strings sequences namespaces
+io.streams.byte-array math.vectors strings namespaces
 make math parser sequences assocs grouping vectors io.binary
 hashtables math.bitwise checksums checksums.common
 checksums.stream ;
index 02b43ecd8800e9922e6283fc2d9ff07e81273a13..3cd0909288bd9fd62c1cadbe04a99223c879054f 100644 (file)
@@ -1,7 +1,8 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: kernel db.errors peg.ebnf strings sequences math
-combinators.short-circuit accessors math.parser quoting ;
+combinators.short-circuit accessors math.parser quoting
+locals ;
 IN: db.errors.postgresql
 
 EBNF: parse-postgresql-sql-error
index 56bac7efcd411d7a1bfc7fef0b1fa331ad2eb31a..19140259bf1e4b913a4243f8b7abd81ab99b0254 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: concurrency.combinators db.pools db.sqlite db.tuples
 db.types kernel math random threads tools.test db sequences
-io prettyprint db.postgresql db.sqlite accessors io.files.temp
+io prettyprint db.postgresql accessors io.files.temp
 namespaces fry system math.parser ;
 IN: db.tester
 
index 19d4be5fc8aa8c238ee97398104aa4093c46748c..388c9ba47e65c4b13b1b25861bbec9b32d75ddbf 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays assocs classes db kernel namespaces
 classes.tuple words sequences slots math accessors
-math.parser io prettyprint db.types continuations
+math.parser io prettyprint continuations
 destructors mirrors sets db.types db.private fry
 combinators.short-circuit db.errors ;
 IN: db.tuples
index 5a517e4ac498e2328636b04126e8f96f4007b004..f8b9ba501ba68e5c953bb0e5f7aa2f855269f2bb 100644 (file)
@@ -1,10 +1,10 @@
 ! Copyright (C) 2008 John Benediktsson
 ! See http://factorcode.org/license.txt for BSD license
 
-USING: accessors arrays ascii assocs calendar combinators fry kernel 
-generalizations io io.encodings.ascii io.files io.streams.string
-macros math math.functions math.parser peg.ebnf quotations
-sequences splitting strings unicode.case vectors combinators.smart ;
+USING: accessors arrays assocs calendar combinators fry kernel
+generalizations io io.streams.string macros math math.functions
+math.parser peg.ebnf quotations sequences splitting strings
+unicode.categories unicode.case vectors combinators.smart ;
 
 IN: formatting
 
index 7a4de18eafe8346f1752522c6a7027e326899f02..5c1ceecbf0f9f77cb8cc60347e08db6debee44a2 100644 (file)
@@ -1,5 +1,5 @@
 USING: help.markup help.syntax io.streams.string quotations
-strings calendar serialize kernel furnace.db words words.symbol
+strings calendar serialize furnace.db words words.symbol
 kernel ;
 IN: furnace.sessions
 
index 5f09a054f97e795900b2f90a06bf845dd9ea9187..c42d48d569eeda01542563d3aa866dea3babbec8 100755 (executable)
@@ -1,7 +1,7 @@
 USING: cocoa cocoa.plists core-foundation iokit iokit.hid
 kernel cocoa.enumeration destructors math.parser cocoa.application 
 sequences locals combinators.short-circuit threads
-namespaces assocs vectors arrays combinators hints alien
+namespaces assocs arrays combinators hints alien
 core-foundation.run-loop accessors sequences.private
 alien.c-types math parser game-input vectors ;
 IN: game-input.iokit
index 348fcbbbfbb4990da457758ee20ca74cbe8aa921..09208749b92f6e870f42f7e44e81d1e4d7a19d25 100644 (file)
@@ -4,7 +4,7 @@ USING: io.encodings.utf8 io.encodings.ascii io.encodings.binary
 io.files io.files.temp io.directories html.streams help kernel
 assocs sequences make words accessors arrays help.topics vocabs
 vocabs.hierarchy help.vocabs namespaces prettyprint io
-vocabs.loader serialize fry memoize ascii unicode.case math.order
+vocabs.loader serialize fry memoize unicode.case math.order
 sorting debugger html xml.syntax xml.writer math.parser ;
 IN: help.html
 
index fcfd454478348a40b170e5f23e30b485e740d1d6..9716407de880fadb9edd4af71628698427a1b722 100644 (file)
@@ -1,8 +1,9 @@
 IN: html.templates.chloe
-USING: xml.data help.markup help.syntax html.components html.forms
+USING: help.markup help.syntax html.components html.forms
 html.templates html.templates.chloe.syntax
 html.templates.chloe.compiler html.templates.chloe.components
 math strings quotations namespaces ;
+FROM: xml.data => tag ;
 
 HELP: <chloe>
 { $values { "path" "a pathname string without the trailing " { $snippet ".xml" } " extension" } { "chloe" chloe } }
index 1fe90b08d3d51f56afbd204214c2aa7809a61a9d..f42a5c3bdefe75a21489a11e9144972a3d2b3c4b 100644 (file)
@@ -1,11 +1,11 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel sequences combinators kernel fry
+USING: accessors kernel sequences combinators fry
 namespaces make classes.tuple assocs splitting words arrays io
 io.files io.files.info io.encodings.utf8 io.streams.string
 unicode.case mirrors math urls present multiline quotations xml
 logging
-xml.data xml.writer xml.syntax strings
+xml.writer xml.syntax strings
 html.forms
 html
 html.components
index 7c47a44d9efee186f87e6c7ffff88b65e00b73b0..f7da0fe27742ea3aa029f235a0a5d4ce8f99c4ae 100644 (file)
@@ -1,13 +1,11 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-IN: html.templates.chloe.syntax
-USING: accessors kernel sequences combinators kernel namespaces
-classes.tuple assocs splitting words arrays memoize parser lexer
-io io.files io.encodings.utf8 io.streams.string
-unicode.case mirrors fry math urls
-multiline xml xml.data xml.writer xml.syntax
-html.components
+USING: accessors sequences combinators kernel namespaces classes.tuple
+assocs splitting words arrays memoize parser lexer io io.files
+io.encodings.utf8 io.streams.string unicode.case mirrors fry math urls
+multiline xml xml.data xml.writer xml.syntax html.components
 html.templates ;
+IN: html.templates.chloe.syntax
 
 SYMBOL: tags
 
index 21e9f8352d9119ba6c23edb760de9992022d5382..34783a0b4a4ddd402a74fd3ce6aa4e5a9266d8fa 100644 (file)
@@ -60,7 +60,7 @@ SYNTAX: %> lexer get parse-%> ;
     [
         "quiet" on
         parser-notes off
-        "html.templates.fhtml" use+
+        "html.templates.fhtml" use-vocab
         string-lines parse-template-lines
     ] with-file-vocabs ;
 
index 3beb73049929c3eda95af527c5418a777c893f8a..c838471e3f1b08f674302c79ff24b93f53f9ef89 100755 (executable)
@@ -17,7 +17,6 @@ io.servers.connection
 io.timeouts
 io.crlf
 fry logging logging.insomniac calendar urls urls.encoding
-mime.multipart
 unicode.categories
 http
 http.parsers
@@ -27,6 +26,7 @@ html.templates
 html.streams
 html
 xml.writer ;
+FROM: mime.multipart => parse-multipart ;
 IN: http.server
 
 : check-absolute ( url -- url )
@@ -283,8 +283,6 @@ M: http-server handle-client*
 : http-insomniac ( -- )
     "http.server" { "httpd-hit" } schedule-insomniac ;
 
-USE: vocabs.loader
-
 "http.server.filters" require
 "http.server.dispatchers" require
 "http.server.redirection" require
index 4e807bd9923f18b8691cd22d4c3c9f34767f166b..7690b3441008044b9d0d7ccbe968d33b9174c442 100755 (executable)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2007, 2009 Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors kernel words summary slots quotations
-sequences assocs math arrays stack-checker effects generalizations
+sequences assocs math arrays stack-checker effects
 continuations debugger classes.tuple namespaces make vectors
 bit-arrays byte-arrays strings sbufs math.functions macros
 sequences.private combinators mirrors splitting combinators.smart
index cecf103162510a5593a5b38df7623b1497711cc5..2be709dbc9bb71bdc14763ccec9e52718d7b84fe 100644 (file)
@@ -2,8 +2,9 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: xml xml.data kernel io io.encodings interval-maps splitting fry
 math.parser sequences combinators assocs locals accessors math arrays
-byte-arrays values io.encodings.ascii ascii io.files biassocs
-math.order combinators.short-circuit io.binary io.encodings.iana ;
+byte-arrays values ascii io.files biassocs math.order
+combinators.short-circuit io.binary io.encodings.iana ;
+FROM: io.encodings.ascii => ascii ;
 IN: io.encodings.gb18030
 
 SINGLETON: gb18030
index e03d5fb30b8c3f2954c08b0b9139b91d4f99762d..9a4443e8e5a738c87dd0d0ff2f42a85feeca9ad8 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: continuations destructors io.files io.files.info
 io.backend kernel quotations system alien alien.accessors
-accessors system vocabs.loader combinators alien.c-types
+accessors vocabs.loader combinators alien.c-types
 math ;
 IN: io.mmap
 
index 1549a776631bf1252af7a32e28917c2f588f7807..414b2da45c96cfb049bc3ce9ebb9ec8ff72bfb54 100644 (file)
@@ -126,14 +126,6 @@ write-test-2 "q" set
 
 [ 9 ] [ 4 write-test-5 ] unit-test
 
-SYMBOL: a
-
-:: use-test ( a b c -- a b c )
-    USE: kernel
-    a b c ;
-
-[ t ] [ a symbol? ] unit-test
-
 :: let-let-test ( n -- n ) [let | n [ n 3 + ] | n ] ;
 
 [ 13 ] [ 10 let-let-test ] unit-test
index 94df4ca209a4047977608f36909ae766a79cda1e..d4ad62fbea5b2947bba2bfad8f44806b91426a6c 100644 (file)
@@ -461,7 +461,7 @@ M: ebnf-sequence build-locals ( code ast -- code )
 \r
 M: ebnf-var build-locals ( code ast -- )\r
   [\r
-    "USING: locals kernel ;  [let* | " %\r
+    "FROM: locals => [let* ; FROM: kernel => dup ; [let* | " %\r
     name>> % " [ dup ] " %\r
     " | " %\r
     %  \r
index e0cb83c33030bec8d896f94f798ec904fa2409a2..dadf93fd439f09593663e2459c89f8352a0ce483 100644 (file)
@@ -1,4 +1,4 @@
-USING: kernel random math accessors random ;
+USING: kernel math accessors random ;
 IN: random.dummy
 
 TUPLE: random-dummy i ;
index a1c4e3ca2a53cc3e01725d62f307a8a45b3e823c..e3e2f0bcf3fda5a0d63e7379fd5eec6de0cc2fdf 100644 (file)
@@ -1,9 +1,10 @@
 ! Copyright (C) 2008, 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors kernel math math.order words combinators locals
-ascii unicode.categories combinators.short-circuit sequences
+unicode.categories combinators.short-circuit sequences
 fry macros arrays assocs sets classes mirrors unicode.script
 unicode.data ;
+FROM: ascii => ascii? ;
 IN: regexp.classes
 
 SINGLETONS: dot letter-class LETTER-class Letter-class digit-class
index 2fd928252fbffff51e5d696064e5e63818b13b03..37eaf088227452257ac002768b44823404d9b0a3 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: sequences grouping assocs kernel ascii ascii tr ;
+USING: sequences grouping assocs kernel ascii tr ;
 IN: soundex
 
 TR: soundex-tr
index 90e91529a1388925ca6ec2bb269022692304bfc4..d5fdd6c88909d530ff5f295bbbc31fe77675b946 100755 (executable)
@@ -4,7 +4,7 @@ USING: accessors combinators kernel system unicode.case io.files
 io.files.info io.files.info.unix generalizations
 strings arrays sequences math.parser unix.groups unix.users
 tools.files.private unix.stat math fry macros combinators.smart
-io.files.info.unix io tools.files math.order prettyprint ;
+io tools.files math.order prettyprint ;
 IN: tools.files.unix
 
 <PRIVATE
index fdba400c3df7e4af3bce116da4dce5073b035181..f215e297ffcb7de1ec41c0722db13c638b592c9d 100644 (file)
@@ -20,7 +20,7 @@ SLOT: history
     [ dup string>> { { CHAR: \n CHAR: \s } } substitute ] { } map>assoc
     <reversed> ;
 
-TUPLE: word-completion vocabs ;
+TUPLE: word-completion manifest ;
 C: <word-completion> word-completion
 
 SINGLETONS: vocab-completion char-completion history-completion ;
@@ -62,8 +62,8 @@ M: definition-completion row-columns
     2array ;
 
 M: word-completion row-color
-    [ vocabulary>> ] [ vocabs>> ] bi* {
-        { [ 2dup [ vocab-words ] dip memq? ] [ COLOR: black ] }
+    [ vocabulary>> ] [ manifest>> ] bi* {
+        { [ 2dup search-vocabs>> memq? ] [ COLOR: black ] }
         { [ over ".private" tail? ] [ COLOR: dark-red ] }
         [ COLOR: dark-gray ]
     } cond 2nip ;
@@ -87,7 +87,7 @@ M: vocab-completion row-color
     [ { 0 0 } ] 2dip doc-range ;
 
 : completion-mode ( interactor -- symbol )
-    [ vocabs>> ] [ editor-caret ] [ model>> ] tri up-to-caret " \r\n" split
+    [ manifest>> ] [ editor-caret ] [ model>> ] tri up-to-caret " \r\n" split
     {
         { [ dup { [ complete-IN:/USE:? ] [ complete-USING:? ] } 1|| ] [ 2drop vocab-completion ] }
         { [ dup complete-CHAR:? ] [ 2drop char-completion ] }
index 19328b0b31c5d0a8b8ec6487135cdffa037fa85f..2e89482c3dae615ac4b12cbec008e011a7e2fd96 100644 (file)
@@ -55,7 +55,7 @@ M: vocab-completion (word-at-caret)
     drop dup vocab-exists? [ >vocab-link ] [ drop f ] if ;
 
 M: word-completion (word-at-caret)
-    manifest>> search-manifest ;
+    manifest>> dup [ search-manifest ] [ 2drop f ] if ;
 
 M: char-completion (word-at-caret)
     2drop f ;
index b6eddccae074f7257f9226af3e3f217c6b02bb5e..f8beca3c600cd6334522c499c570e1875b80d465 100755 (executable)
@@ -1,11 +1,10 @@
 ! Copyright (C) 2008 Daniel Ehrenberg.\r
 ! See http://factorcode.org/license.txt for BSD license.\r
-USING: combinators.short-circuit sequences io.files\r
-io.encodings.ascii kernel values splitting accessors math.parser\r
-ascii io assocs strings math namespaces make sorting combinators\r
-math.order arrays unicode.normalize unicode.data locals\r
-macros sequences.deep words unicode.breaks\r
-quotations combinators.short-circuit simple-flat-file ;\r
+USING: sequences io.files io.encodings.ascii kernel values splitting\r
+accessors math.parser ascii io assocs strings math namespaces make\r
+sorting combinators math.order arrays unicode.normalize unicode.data\r
+locals macros sequences.deep words unicode.breaks quotations\r
+combinators.short-circuit simple-flat-file ;\r
 IN: unicode.collation\r
 \r
 <PRIVATE\r
index f39592036cd35e17c4606a1f2c587167c4fcc98c..7561d674820f7ff7fe7918ef0522bac0e9eafa28 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2005, 2009 Daniel Ehrenberg
 ! See http://factorcode.org/license.txt for BSD license.
-USING: words assocs kernel accessors parser effects.parser
-sequences summary lexer splitting combinators locals xml.data
+USING: words assocs kernel accessors parser vocabs.parser effects.parser
+sequences summary lexer splitting combinators locals
 memoize sequences.deep xml.data xml.state xml namespaces present
 arrays generalizations strings make math macros multiline
 inverse combinators.short-circuit sorting fry unicode.categories
index b5141f6cc4bbe0959fd881f7dd7a3ff390c9e9d0..a4c2094da77fe0e21f9e1175ab93e1746abb5ca1 100644 (file)
@@ -1,6 +1,6 @@
-USING: xmode.tokens xmode.marker xmode.catalog kernel locals
-io io.files sequences words io.encodings.utf8
-namespaces xml.entities accessors xml.syntax locals xml.writer ;
+USING: xmode.tokens xmode.marker xmode.catalog kernel io io.files
+sequences words io.encodings.utf8 namespaces xml.entities accessors
+xml.syntax locals xml.writer ;
 IN: xmode.code2html
 
 : htmlize-tokens ( tokens -- xml )
index b4c1cd6a48dfaf50410a75d1da25adbb5275171e..febfc2b40f6a189a38c8b19251ce62025a1c3ded 100755 (executable)
@@ -3,8 +3,7 @@
 USING: kernel namespaces make xmode.rules xmode.tokens
 xmode.marker.state xmode.marker.context xmode.utilities
 xmode.catalog sequences math assocs combinators strings
-regexp splitting unicode.case ascii
-combinators.short-circuit accessors ;
+regexp splitting ascii combinators.short-circuit accessors ;
 IN: xmode.marker
 
 ! Next two words copied from parser-combinators
index 664645c466890f553ddc56e4351c456b979c8720..71f7f2618568c2510b5aabd30c84976f3b447963 100755 (executable)
@@ -1,9 +1,6 @@
-USING: kernel math arrays math.vectors math.matrices
-namespaces make
-math.constants math.functions
-math.vectors
-splitting grouping math.trig
-  sequences accessors 4DNav.deep models vars ;
+USING: kernel math arrays math.vectors math.matrices namespaces make
+math.constants math.functions splitting grouping math.trig sequences
+accessors 4DNav.deep models vars ;
 IN: 4DNav.turtle
 
 ! replacement of self
index 6bb57cf9405f0bff0c3797815252fbaf0620430d..e83e88401911f728c95cce9ba5c2c0523146698b 100755 (executable)
@@ -15,7 +15,6 @@ accessors
 namespaces\r
 adsoda \r
 models\r
-accessors\r
 prettyprint\r
 ;\r
 \r
index 0ae7d792dd8dd27035d225df3d83cd80ca19a355..27040edac3e5909afc5d852916f78b5ba93a8ba2 100755 (executable)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: backtrack shuffle math math.ranges quotations locals fry
-kernel words io memoize macros io prettyprint sequences assocs
+kernel words io memoize macros prettyprint sequences assocs
 combinators namespaces ;
 IN: benchmark.backtrack
 
index 7d614ff94769a56345f44f516300e8312fd6d5f9..88560324886595dc6936900e985e73fda24c9cc9 100755 (executable)
@@ -3,6 +3,7 @@ destructors kernel math multiline opengl opengl.shaders
 opengl.framebuffers opengl.gl opengl.textures opengl.demo-support fry
 opengl.capabilities sequences ui.gadgets combinators accessors
 macros locals ;
+FROM: opengl.demo-support => rect-vertices ;
 IN: bunny.outlined
 
 STRING: outlined-pass1-fragment-shader-main-source
index bc6b8a092fa84092d7434163b6069946e4e60469..b6b5ff3b08c9b79cce7a449b5f05a1aa93e20c44 100755 (executable)
@@ -2,8 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors kernel peg strings sequences math math.parser
 namespaces make words quotations arrays hashtables io
-io.streams.string assocs ascii peg.parsers accessors
-words.symbol ;
+io.streams.string assocs ascii peg.parsers words.symbol ;
 IN: fjsc
 
 TUPLE: ast-number value ;
index 9f0b6fc0a3c092d1fb3d013bfb74d6077c5a980c..7c83fc6e902a6aef0432e52f4c2547fc11f14b21 100644 (file)
@@ -6,7 +6,7 @@ vectors vocabs.parser ;
 
 IN: fuel.eval
 
-TUPLE: fuel-status in use restarts ;
+TUPLE: fuel-status manifest restarts ;
 
 SYMBOL: fuel-status-stack
 V{ } clone fuel-status-stack set-global
@@ -24,7 +24,7 @@ t fuel-eval-res-flag set-global
     fuel-eval-res-flag get-global ;
 
 : fuel-push-status ( -- )
-    in get use get clone restarts get-global clone
+    manifest get clone restarts get-global clone
     fuel-status boa
     fuel-status-stack get push ;
 
@@ -34,9 +34,9 @@ t fuel-eval-res-flag set-global
 : fuel-pop-status ( -- )
     fuel-status-stack get empty? [
         fuel-status-stack get pop
-        [ in>> in set ]
-        [ use>> clone use set ]
-        [ restarts>> fuel-pop-restarts ] tri
+        [ manifest>> clone manifest set ]
+        [ restarts>> fuel-pop-restarts ]
+        bi
     ] unless ;
 
 : fuel-forget-error ( -- ) f error set-global ;
@@ -60,11 +60,11 @@ t fuel-eval-res-flag set-global
     [ print-error ] recover ;
 
 : (fuel-eval-usings) ( usings -- )
-    [ [ add-use ] curry [ drop ] recover ] each
+    [ [ use-vocab ] curry [ drop ] recover ] each
     fuel-forget-error fuel-forget-output ;
 
 : (fuel-eval-in) ( in -- )
-    [ in set ] when* ;
+    [ set-current-vocab ] when* ;
 
 : (fuel-eval-in-context) ( lines in usings -- )
     (fuel-begin-eval)
index 160b7212c4c870b821dc08f58ed46ec3ebe325df..3dfa129a7ff05ec1085ef6b31d4d3b2235480446 100644 (file)
@@ -35,7 +35,11 @@ MEMO: (vocab-words) ( name -- seq )
     >vocab-link words [ name>> ] map ;
 
 : current-words ( -- seq )
-    use get [ keys ] map concat ; inline
+    manifest get
+    [ search-vocabs>> [ words>> ] map ]
+    [ qualified-vocabs>> [ words>> ] map ]
+    [ extra-words>> ]
+    tri 3append assoc-combine keys ; inline
 
 : vocabs-words ( names -- seq )
     prune [ (vocab-words) ] map concat ; inline
index 8e2eeeb1a7fd0bbb88ff156231fe154f74764539..5f33af04fec51daa9cd455876bcf7f398a61f64a 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: slides help.markup math arrays hashtables namespaces
-sequences kernel sequences parser memoize io.encodings.binary
+kernel sequences parser memoize io.encodings.binary
 locals kernel.private help.vocabs assocs quotations
 urls peg.ebnf tools.annotations tools.crossref
 help.topics math.functions compiler.tree.optimizer
index 1eb690b20ff081a0d6cc2e3a527845a38759e0db..a77ebf2577071e2d6cd12ab9b43a131a12697175 100755 (executable)
@@ -1,9 +1,8 @@
 ! Copyright (C) 2009 Diego Martinelli.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors byte-arrays calendar calendar.format 
-checksums checksums.openssl classes.tuple 
-fry kernel make math math.functions math.parser math.ranges 
-present random sequences splitting strings syntax ;
+USING: accessors byte-arrays calendar calendar.format checksums
+checksums.openssl classes.tuple fry kernel make math math.functions
+math.parser math.ranges present random sequences splitting strings ;
 IN: hashcash
 
 ! Hashcash implementation
index 2196f1baaa1493ab4ce485548e9b0c0dac3439b6..02b45ee9396c57d407f49f052138ea69cefbeed1 100755 (executable)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: assocs html.parser kernel math sequences strings ascii
-arrays generalizations shuffle unicode.case namespaces make
+arrays generalizations shuffle namespaces make
 splitting http accessors io combinators http.client urls
 urls.encoding fry prettyprint sets ;
 IN: html.parser.analyzer
index 6acace858276fa25cec8f85a05b209a048ad46a7..6d9b778ee8d1f2ba08bc5f818149d233230dcab4 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2009 Tim Wawrzynczak, Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: sequences io io.encodings.binary io.files io.pathnames
-strings kernel math io.mmap io.mmap.uchar accessors syntax
+strings kernel math io.mmap io.mmap.uchar accessors
 combinators math.ranges unicode.categories byte-arrays
 io.encodings.string io.encodings.utf16 assocs math.parser
 combinators.short-circuit fry namespaces combinators.smart
index 09f1b0e4b1a422049f7153c661d7a8080903c92d..ce197800583f5f0231581d6425ddba57e5468172 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors assocs combinators combinators.short-circuit
 effects fry infix.parser infix.ast kernel locals.parser
 locals.types math multiline namespaces parser quotations
-sequences summary words ;
+sequences summary words vocabs.parser ;
 IN: infix
 
 <PRIVATE
index 6171c3053b9e2701abc750eadd9cb9a435f73302..7e124dc713b940d677d86a589b614df5e43ee149 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (C) 2007, 2008 Alex Chapman
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays colors combinators kernel literals locals math math.constants math.matrices math.order math.ranges math.vectors math.quadratic random sequences specialized-arrays.float vectors jamshred.oint ;
+FROM: jamshred.oint => distance ;
 IN: jamshred.tunnel
 
 CONSTANT: n-segments 5000
index 4ba8e2f66b34fca014983b88a587f55a7da30be6..1ecd56d416d2df77e1fa02023eebe02cd7f304d9 100755 (executable)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2006, 2007 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs hashtables assocs io kernel math
+USING: accessors arrays hashtables assocs io kernel math
 math.vectors math.matrices math.matrices.elimination namespaces
 parser prettyprint sequences words combinators math.parser
 splitting sorting shuffle sets math.order ;
index a33e3c5831f668ef9477c7840c343784bf331332..4ac5767009029ef1fb2d3883fd69c7432a6e13f2 100755 (executable)
@@ -4,7 +4,7 @@ USING: kernel namespaces sequences splitting system accessors
 math.functions make io io.files io.pathnames io.directories
 io.directories.hierarchy io.launcher io.encodings.utf8 prettyprint
 combinators.short-circuit parser combinators calendar
-calendar.format arrays mason.config locals system debugger fry
+calendar.format arrays mason.config locals debugger fry
 continuations strings ;
 IN: mason.common
 
index d425985e7632f8ac2244942b41db41a04ba34b54..8818e1cc94f466a9dcfc899281e4928492b366b0 100644 (file)
@@ -1,8 +1,9 @@
 ! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors calendar continuations debugger debugger io
-io.directories io.files kernel mason.build mason.common
+USING: accessors calendar continuations debugger io
+io.directories io.files kernel mason.common
 mason.email mason.updates namespaces threads ;
+FROM: mason.build => build ;
 IN: mason
 
 : build-loop-error ( error -- )
index fc4ad0b08a6977b9475d3f8125eaef504537b570..a593f000f38ca516678ad0786f20288a7edf605b 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2008, 2009 Eduardo Cavazos, Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel debugger namespaces sequences splitting combinators
+USING: kernel debugger namespaces sequences splitting
 combinators io io.files io.launcher prettyprint bootstrap.image
 mason.common mason.release.branch mason.release.tidy
 mason.release.archive mason.release.upload mason.notify ;
index 02dfa8add930441f170ef002a67d03f43fddc0fe..a977224d660fffd82d3d3eea2cd5840691253682 100644 (file)
@@ -1,7 +1,7 @@
 USING: calendar math fry kernel assocs math.ranges bson.reader io.streams.byte-array
 sequences formatting combinators namespaces io tools.time prettyprint io.encodings.binary
-accessors words mongodb.driver strings math.parser tools.walker bson.writer
-tools.continuations ;
+accessors words mongodb.driver strings math.parser bson.writer ;
+FROM: mongodb.driver => find ;
 
 IN: mongodb.benchmark
 
index 677fa09bf9d828d191bed1dc1ae20732ef52ea66..ce76a37ff4a3fa248b98ab3faa9de3510b301293 100644 (file)
@@ -2,6 +2,8 @@ USING: accessors assocs classes.mixin classes.tuple
 classes.tuple.parser compiler.units fry kernel sequences mongodb.driver
 mongodb.msg mongodb.tuple.collection 
 mongodb.tuple.persistent mongodb.tuple.state strings ;
+FROM: mongodb.driver => update delete find count ;
+FROM: mongodb.tuple.persistent => assoc>tuple ;
 
 IN: mongodb.tuple
 
index 35a83a63de6eb4dbfbf2ae8be9e82bfd31e13d6f..0e7702512f6898f081c59084bee0b4fd7ebf34b4 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: slides help.markup math arrays hashtables namespaces
-sequences kernel sequences parser memoize io.encodings.binary
+kernel sequences parser memoize io.encodings.binary
 locals kernel.private help.vocabs assocs quotations
 tools.annotations tools.crossref help.topics math.functions
 compiler.tree.optimizer compiler.cfg.optimizer fry
index 7ace52815079f01f2bc354c16e25eb902623d129..82b50c454af5f9714f9d64b2cbb88ba999573575 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (C) 2008 Chris Double.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors peg peg.ebnf peg.javascript.ast peg.javascript.tokenizer ;
+USING: kernel accessors sequences
+peg peg.ebnf peg.javascript.ast peg.javascript.tokenizer ;
 IN: peg.javascript.parser
 
 #! Grammar for JavaScript. Based on OMeta-JS example from:
index 84291f2ce83d44a6d81f3eccc74426ddc3d78814..497fc31de7fc41cd89725daee7ff720c28147f6c 100644 (file)
@@ -143,6 +143,6 @@ PRIVATE>
 SYNTAX: SOLUTION:
     scan-word
     [ name>> "-main" append create-in ] keep
-    [ drop in get vocab (>>main) ]
+    [ drop current-vocab (>>main) ]
     [ [ . ] swap prefix (( -- )) define-declared ]
     2bi ;
diff --git a/extra/sandbox/authors.txt b/extra/sandbox/authors.txt
deleted file mode 100644 (file)
index f97e1bf..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Maxim Savchenko
diff --git a/extra/sandbox/sandbox-tests.factor b/extra/sandbox/sandbox-tests.factor
deleted file mode 100644 (file)
index 5d0496e..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-! Copyright (C) 2009 Maxim Savchenko
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: kernel accessors continuations lexer vocabs vocabs.parser
-       combinators.short-circuit sandbox tools.test ;
-
-IN: sandbox.tests
-
-<< "sandbox.syntax" load-vocab drop >>
-USE: sandbox.syntax.private
-
-: run-script ( x lines -- y )
-    H{ { "kernel" "kernel" } { "math" "math" } { "sequences" "sequences" } }
-    parse-sandbox call( x -- x! ) ;
-
-[ 120 ]
-[
-    5
-    {
-        "! Simple factorial example"
-        "APPLYING: kernel math sequences ;"
-        "1 swap [ 1+ * ] each"
-    } run-script
-] unit-test
-
-[
-    5
-    {
-        "! Jailbreak attempt with USE:"
-        "USE: io"
-        "\"Hello world!\" print"
-    } run-script
-]
-[
-    {
-        [ lexer-error? ]
-        [ error>> condition? ]
-        [ error>> error>> no-word-error? ]
-        [ error>> error>> name>> "USE:" = ]
-    } 1&&
-] must-fail-with
-
-[
-    5
-    {
-        "! Jailbreak attempt with unauthorized APPLY:"
-        "APPLY: io"
-        "\"Hello world!\" print"
-    } run-script
-]
-[
-    {
-        [ lexer-error? ]
-        [ error>> sandbox-error? ]
-        [ error>> vocab>> "io" = ]
-    } 1&&
-] must-fail-with
diff --git a/extra/sandbox/sandbox.factor b/extra/sandbox/sandbox.factor
deleted file mode 100644 (file)
index 097a7c8..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-! Copyright (C) 2009 Maxim Savchenko.
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: kernel sequences vectors assocs namespaces parser lexer vocabs
-       combinators.short-circuit vocabs.parser ;
-
-IN: sandbox
-
-SYMBOL: whitelist
-
-: with-sandbox-vocabs ( quot -- )
-    "sandbox.syntax" load-vocab vocab-words 1vector
-    use [ auto-use? off call ] with-variable ; inline
-
-: parse-sandbox ( lines assoc -- quot )
-    whitelist [ [ parse-lines ] with-sandbox-vocabs ] with-variable ;
-
-: reveal-in ( name -- )
-    [ { [ search ] [ no-word ] } 1|| ] keep current-vocab vocab-words set-at ;
-
-SYNTAX: REVEAL: scan reveal-in ;
-
-SYNTAX: REVEALING: ";" parse-tokens [ reveal-in ] each ;
diff --git a/extra/sandbox/summary.txt b/extra/sandbox/summary.txt
deleted file mode 100644 (file)
index 3ca1e25..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Basic sandboxing
diff --git a/extra/sandbox/syntax/syntax.factor b/extra/sandbox/syntax/syntax.factor
deleted file mode 100644 (file)
index f04b05a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-! Copyright (C) 2009 Maxim Savchenko.
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: kernel sequences assocs namespaces lexer vocabs.parser sandbox ;
-IN: sandbox.syntax
-
-<PRIVATE
-
-ERROR: sandbox-error vocab ;
-
-: sandbox-use+ ( alias -- )
-    dup whitelist get at [ add-use ] [ sandbox-error ] ?if ;
-
-PRIVATE>
-
-SYNTAX: APPLY: scan sandbox-use+ ;
-
-SYNTAX: APPLYING: ";" parse-tokens [ sandbox-use+ ] each ;
-
-REVEALING:
-    ! #!
-    HEX: OCT: BIN: f t CHAR: "
-    [ { T{
-    ] } ;
-
-REVEAL: ;
index 710c953ed104862d0fe741be3937e0efa6c79ef3..1a8f41b4a2e974f5ec2ee4a38cc163f6a212d55c 100755 (executable)
@@ -3,6 +3,7 @@ opengl.shaders opengl.framebuffers opengl.capabilities multiline
 ui.gadgets accessors sequences ui.render ui math locals arrays
 generalizations combinators ui.gadgets.worlds
 literals ui.pixel-formats ;
+FROM: opengl.demo-support => rect-vertices ;
 IN: spheres
 
 STRING: plane-vertex-shader
index 66f69bb0533d9c88b5426b6dc50cc335c8150506..dbdb666e4a39042aedff5c9276023441a3567b0a 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (C) 2006, 2007, 2008 Alex Chapman
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors alarms arrays calendar kernel make math math.rectangles math.parser namespaces sequences system tetris.game tetris.gl ui.gadgets ui.gadgets.labels ui.gadgets.worlds ui.gadgets.status-bar ui.gestures ui.render ui ;
+FROM: tetris.game => level>> ;
 IN: tetris
 
 TUPLE: tetris-gadget < gadget { tetris tetris } { alarm } ;
index b9d859962fb806ed9594fd3e8509f3dacc2caa24..9e9474791986899c17f54ec8eece1bc666a97655 100644 (file)
@@ -1,4 +1,5 @@
 USING: accessors kernel fry math models ui.gadgets ui.gadgets.books ui.gadgets.buttons ;
+FROM: models => change-model ;
 IN: ui.gadgets.book-extras
 : <book*> ( pages -- book ) 0 <model> <book> ;
 : |<< ( book -- ) 0 swap set-control-value ;
index 4ee499bf50c08fa7cffbc92784cfe2760b0b551d..518462d7bb26e9338c67ee65bdad6f550807eb23 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: slides help.markup math arrays hashtables namespaces
-sequences kernel sequences parser memoize io.encodings.binary
+kernel sequences parser memoize io.encodings.binary
 locals kernel.private help.vocabs assocs quotations urls
 peg.ebnf tools.annotations tools.crossref help.topics
 math.functions compiler.tree.optimizer compiler.cfg.optimizer
index f82eb6dcd88594f3a1dcac50baa6e5494f58753d..5ecd3bc6a8c0fb35eef5259e9de839ae0ca9dcc1 100644 (file)
@@ -37,7 +37,7 @@ IN: webapps.site-watcher
             "twitter" value >>twitter
             "sms" value >>sms
             update-tuple
-            site-list-url <redirect>
+            f <redirect>
         ] >>submit
     <protected>
         "update notification details" >>description ;
index 2341b020a84fdb0e495a0c584b0f0bcb48bc262f..5689f23d4ea6cfd60f3e30e1ac2f5e8f574316c9 100644 (file)
@@ -15,7 +15,7 @@ furnace.auth.login
 furnace.boilerplate
 furnace.syndication
 validators
-db.types db.tuples lcs farkup urls ;
+db.types db.tuples lcs urls ;
 IN: webapps.wiki
 
 : wiki-url ( rest path -- url )
diff --git a/unmaintained/sandbox/authors.txt b/unmaintained/sandbox/authors.txt
new file mode 100644 (file)
index 0000000..f97e1bf
--- /dev/null
@@ -0,0 +1 @@
+Maxim Savchenko
diff --git a/unmaintained/sandbox/sandbox-tests.factor b/unmaintained/sandbox/sandbox-tests.factor
new file mode 100644 (file)
index 0000000..5d0496e
--- /dev/null
@@ -0,0 +1,57 @@
+! Copyright (C) 2009 Maxim Savchenko
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: kernel accessors continuations lexer vocabs vocabs.parser
+       combinators.short-circuit sandbox tools.test ;
+
+IN: sandbox.tests
+
+<< "sandbox.syntax" load-vocab drop >>
+USE: sandbox.syntax.private
+
+: run-script ( x lines -- y )
+    H{ { "kernel" "kernel" } { "math" "math" } { "sequences" "sequences" } }
+    parse-sandbox call( x -- x! ) ;
+
+[ 120 ]
+[
+    5
+    {
+        "! Simple factorial example"
+        "APPLYING: kernel math sequences ;"
+        "1 swap [ 1+ * ] each"
+    } run-script
+] unit-test
+
+[
+    5
+    {
+        "! Jailbreak attempt with USE:"
+        "USE: io"
+        "\"Hello world!\" print"
+    } run-script
+]
+[
+    {
+        [ lexer-error? ]
+        [ error>> condition? ]
+        [ error>> error>> no-word-error? ]
+        [ error>> error>> name>> "USE:" = ]
+    } 1&&
+] must-fail-with
+
+[
+    5
+    {
+        "! Jailbreak attempt with unauthorized APPLY:"
+        "APPLY: io"
+        "\"Hello world!\" print"
+    } run-script
+]
+[
+    {
+        [ lexer-error? ]
+        [ error>> sandbox-error? ]
+        [ error>> vocab>> "io" = ]
+    } 1&&
+] must-fail-with
diff --git a/unmaintained/sandbox/sandbox.factor b/unmaintained/sandbox/sandbox.factor
new file mode 100644 (file)
index 0000000..097a7c8
--- /dev/null
@@ -0,0 +1,23 @@
+! Copyright (C) 2009 Maxim Savchenko.
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: kernel sequences vectors assocs namespaces parser lexer vocabs
+       combinators.short-circuit vocabs.parser ;
+
+IN: sandbox
+
+SYMBOL: whitelist
+
+: with-sandbox-vocabs ( quot -- )
+    "sandbox.syntax" load-vocab vocab-words 1vector
+    use [ auto-use? off call ] with-variable ; inline
+
+: parse-sandbox ( lines assoc -- quot )
+    whitelist [ [ parse-lines ] with-sandbox-vocabs ] with-variable ;
+
+: reveal-in ( name -- )
+    [ { [ search ] [ no-word ] } 1|| ] keep current-vocab vocab-words set-at ;
+
+SYNTAX: REVEAL: scan reveal-in ;
+
+SYNTAX: REVEALING: ";" parse-tokens [ reveal-in ] each ;
diff --git a/unmaintained/sandbox/summary.txt b/unmaintained/sandbox/summary.txt
new file mode 100644 (file)
index 0000000..3ca1e25
--- /dev/null
@@ -0,0 +1 @@
+Basic sandboxing
diff --git a/unmaintained/sandbox/syntax/syntax.factor b/unmaintained/sandbox/syntax/syntax.factor
new file mode 100644 (file)
index 0000000..f04b05a
--- /dev/null
@@ -0,0 +1,26 @@
+! Copyright (C) 2009 Maxim Savchenko.
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: kernel sequences assocs namespaces lexer vocabs.parser sandbox ;
+IN: sandbox.syntax
+
+<PRIVATE
+
+ERROR: sandbox-error vocab ;
+
+: sandbox-use+ ( alias -- )
+    dup whitelist get at [ add-use ] [ sandbox-error ] ?if ;
+
+PRIVATE>
+
+SYNTAX: APPLY: scan sandbox-use+ ;
+
+SYNTAX: APPLYING: ";" parse-tokens [ sandbox-use+ ] each ;
+
+REVEALING:
+    ! #!
+    HEX: OCT: BIN: f t CHAR: "
+    [ { T{
+    ] } ;
+
+REVEAL: ;