]> gitweb.factorcode.org Git - factor.git/blob - basis/vocabs/errors/errors.factor
Rename vocab to lookup-vocab
[factor.git] / basis / vocabs / errors / errors.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: assocs continuations debugger io io.styles kernel
4 namespaces sequences vocabs vocabs.loader ;
5 IN: vocabs.errors
6
7 <PRIVATE
8
9 : vocab-heading. ( vocab -- )
10     nl
11     "==== " write
12     [ vocab-name ] [ lookup-vocab write-object ] bi ":" print
13     nl ;
14
15 : load-error. ( triple -- )
16     [ first vocab-heading. ] [ second print-error ] bi ;
17
18 SYMBOL: failures
19
20 PRIVATE>
21
22 : load-failures. ( failures -- )
23     [ load-error. nl ] each ;
24
25 : require-all ( vocabs -- failures )
26     [
27         V{ } clone blacklist set
28         V{ } clone failures set
29         [
30             [ require ]
31             [ swap vocab-name failures get set-at ]
32             recover
33         ] each
34         failures get
35     ] with-scope ;