M: object >vocab-link dup lookup-vocab [ ] [ <vocab-link> ] ?if ;
-: forget-vocab ( vocab -- )
+<PRIVATE
+
+: (forget-vocab) ( vocab -- )
[ vocab-words forget-all ]
[ vocab-name dictionary get delete-at ]
[ notify-vocab-observers ] tri ;
+PRIVATE>
+
+: forget-vocab ( vocab -- )
+ [ (forget-vocab) ] [
+ vocab-name dup ".private" tail? [ drop ] [
+ ".private" append (forget-vocab)
+ ] if
+ ] bi ;
+
M: vocab-spec forget* forget-vocab ;
SYMBOL: require-hook