listener: extract a loaded-vocab? word.

db4
John Benediktsson 2014-06-04 09:52:51 -07:00
parent 7082246447
commit 6bf3470e62
1 changed files with 16 additions and 12 deletions

View File

@ -1,10 +1,10 @@
! Copyright (C) 2003, 2009 Slava Pestov. ! Copyright (C) 2003, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors colors colors.constants compiler.units USING: accessors colors colors.constants
continuations debugger fry io io.styles kernel lexer locals combinators.short-circuit compiler.units continuations debugger
math math.parser namespaces parser parser.notes prettyprint fry io io.styles kernel lexer locals math math.parser namespaces
sequences sets source-files.errors vocabs vocabs.loader parser parser.notes prettyprint sequences sets
vocabs.parser ; source-files.errors vocabs vocabs.loader vocabs.parser ;
IN: listener IN: listener
GENERIC: stream-read-quot ( stream -- quot/f ) GENERIC: stream-read-quot ( stream -- quot/f )
@ -188,14 +188,18 @@ SYMBOL: interactive-vocabs
"words" "words"
} interactive-vocabs set-global } interactive-vocabs set-global
: use-loaded-vocabs ( vocabs -- ) : loaded-vocab? ( vocab-spec -- ? )
[ lookup-vocab ] filter {
[
lookup-vocab
[ find-vocab-root not ] [ find-vocab-root not ]
[ source-loaded?>> +done+ eq? ] bi or [ source-loaded?>> +done+ eq? ]
] filter } 1|| ;
[ use-vocab ] each ;
: use-loaded-vocabs ( vocabs -- )
[
lookup-vocab [
dup loaded-vocab? [ use-vocab ] [ drop ] if
] when*
] each ;
: with-interactive-vocabs ( quot -- ) : with-interactive-vocabs ( quot -- )
[ [