PREDICATE: single-generic < generic
"combination" word-prop single-combination? ;
-M: single-generic make-inline throw-cannot-be-inline ;
+M: single-generic make-inline cannot-be-inline ;
GENERIC: dispatch# ( word -- n )
[
pick predicate-def %
1quotation ,
- [ throw-inconsistent-next-method ] 2curry ,
+ [ inconsistent-next-method ] 2curry ,
\ if ,
] [ ] make picker prepend
] [ 3drop f ] if
bi or ;
M: single-combination make-default-method
- [ [ picker ] dip [ throw-no-method ] curry append ] with-combination ;
+ [ [ picker ] dip [ no-method ] curry append ] with-combination ;
! ! ! Build an engine ! ! !
: prune-redundant-predicates ( assoc -- default assoc' )
{
- { [ dup empty? ] [ drop [ throw-unreachable ] { } ] }
+ { [ dup empty? ] [ drop [ unreachable ] { } ] }
{ [ dup length 1 = ] [ first second { } ] }
{ [ dup keep-going? ] [ rest-slice prune-redundant-predicates ] }
[ [ first second ] [ rest-slice ] bi ]