1 ! Copyright (C) 2015 Doug Coleman.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: classes.private classes.tuple classes.tuple.private
4 combinators kernel words ;
7 PREDICATE: error-class < tuple-class
8 "error-class" word-prop ;
10 M: error-class reset-class
11 [ call-next-method ] [ "error-class" remove-word-prop ] bi ;
13 : define-error-class ( class superclass slots -- )
15 [ define-tuple-class ]
16 [ 2drop reset-generic ]
17 [ 2drop t "error-class" set-word-prop ]
21 [ [ boa throw ] curry ]
22 [ all-slots thrower-effect ]