]> gitweb.factorcode.org Git - factor.git/blob - basis/vocabs/cache/cache.factor
change add-init-hook to add-startup-hook, new add-shutdown-hook word
[factor.git] / basis / vocabs / cache / cache.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: assocs kernel namespaces memoize init vocabs
4 vocabs.hierarchy vocabs.loader vocabs.metadata vocabs.refresh ;
5 IN: vocabs.cache
6
7 : reset-cache ( -- )
8     root-cache get-global clear-assoc
9     \ vocab-file-contents reset-memoized
10     \ all-vocabs-recursive reset-memoized
11     \ all-authors reset-memoized
12     \ all-tags reset-memoized ;
13
14 SINGLETON: cache-observer
15
16 M: cache-observer vocabs-changed drop reset-cache ;
17
18 [
19     f changed-vocabs set-global
20     cache-observer add-vocab-observer
21 ] "vocabs.cache" add-startup-hook