 ! Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays assocs combinators compiler.units
-continuations hashtables kernel math namespaces parser.notes
-sequences sets sorting splitting vectors vocabs words ;
+continuations hash-sets hashtables kernel math namespaces
+parser.notes sequences sets sorting splitting vectors vocabs
+words ;
 IN: vocabs.parser
 
 ERROR: no-word-error name ;

    dup using-vocab? [
        manifest get
        [ [ load-vocab ] dip search-vocabs>> remove-eq! drop ]
        [ [ vocab-name ] dip search-vocab-names>> delete-at ]
        2bi
    ] [ drop ] if ;



TUPLE: manifest
current-vocab
{ search-vocab-names hash-set }
{ search-vocabs vector }
{ qualified-vocabs vector }
{ auto-used vector } ;

: <manifest> ( -- manifest )
    manifest new
        HS{ } clone >>search-vocab-names
        V{ } clone >>search-vocabs
        V{ } clone >>qualified-vocabs
        V{ } clone >>auto-used ;
