File tree 2 files changed +7
-4
lines changed 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change 1
1
! Copyright (C) 2013 Doug Coleman.
2
2
! See https://factorcode.org/license.txt for BSD license.
3
3
USING: alien.c-types arrays assocs combinators.extras io.files
4
- kernel math modern.slices parser ranges sequences splitting
5
- tools.test ;
4
+ kernel math math.parser modern.slices parser ranges sequences
5
+ splitting tools.test ;
6
6
IN: combinators.extras.tests
7
7
8
8
Original file line number Diff line number Diff line change @@ -334,14 +334,17 @@ SYNTAX: ?[ parse-quotation [ ?call ] curry append! ;
334
334
: ?3unless ( ..a x y z pred: ( ..a x quot: ( ..a x y z -- ..b ? ) -- ..b x ? ) false: ( ..b x y z -- ..c ) -- ..c )
335
335
[ ] swap ?3if ; inline
336
336
337
+ : throws? ( quot -- ? )
338
+ [ '[ _ drop-outputs f ] ] [ '[ drop _ drop-inputs t ] ] bi recover ; inline
339
+
337
340
: filter-errors-as ( ... seq quot: ( ... elt -- ... ? ) -- ... subseq )
338
- [ '[ [ @ drop f ] [ 2drop t ] recover ] ] dip filter-as ; inline
341
+ [ '[ _ throws? ] ] dip filter-as ; inline
339
342
340
343
: filter-errors ( ... seq quot: ( ... elt -- ... ? ) -- ... subseq )
341
344
over filter-errors-as ; inline
342
345
343
346
: reject-errors-as ( ... seq quot: ( ... elt -- ... ? ) -- ... subseq )
344
- [ '[ [ @ drop f ] [ 2drop t ] recover ] ] dip reject-as ; inline
347
+ [ '[ _ throws? ] ] dip reject-as ; inline
345
348
346
349
: reject-errors ( ... seq quot: ( ... elt -- ... ? ) -- ... subseq )
347
350
over reject-errors-as ; inline
You can’t perform that action at this time.
0 commit comments