: binary-op ( word interval-quot post-proc-quot -- )
'[
- [ binary-op-class ] [ , binary-op-interval ] 2bi
+ [ binary-op-class ] [ _ binary-op-interval ] 2bi
@
<class/interval-info>
] "outputs" set-word-prop ;
in1 in2 op negate-comparison (comparison-constraints) out f--> /\ ;
: define-comparison-constraints ( word op -- )
- '[ , comparison-constraints ] "constraints" set-word-prop ;
+ '[ _ comparison-constraints ] "constraints" set-word-prop ;
comparison-ops
-[ dup '[ , define-comparison-constraints ] each-derived-op ] each
+[ dup '[ _ define-comparison-constraints ] each-derived-op ] each
generic-comparison-ops [
dup specific-comparison
- '[ , , define-comparison-constraints ] each-derived-op
+ '[ _ _ define-comparison-constraints ] each-derived-op
] each
! Remove redundant comparisons
comparison-ops [
dup '[
- [ , fold-comparison ] "outputs" set-word-prop
+ [ _ fold-comparison ] "outputs" set-word-prop
] each-derived-op
] each
generic-comparison-ops [
dup specific-comparison
- '[ , fold-comparison ] "outputs" set-word-prop
+ '[ _ fold-comparison ] "outputs" set-word-prop
] each
: maybe-or-never ( ? -- info )
{ >float float }
} [
'[
- ,
+ _
[ nip ] [
[ interval>> ] [ class-interval ] bi*
interval-intersect