More inference bug fixes

release
Slava Pestov 2007-09-27 16:11:03 -04:00
parent cdad6df422
commit 83f552fae8
3 changed files with 8 additions and 7 deletions

View File

@ -68,9 +68,7 @@ M: object infer-call
apply-object
] [
drop
[ "execute must be given a word" throw ]
recursive-state get
infer-quot
"execute must be given a word" time-bomb
] if
] "infer" set-word-prop

View File

@ -6,9 +6,12 @@ inference.dataflow tuples.private ;
IN: inference.transforms
: pop-literals ( n -- rstate seq )
dup zero? [ drop f ] [
[ ensure-values ] keep [ d-tail ] keep (consume-values)
dup first value-recursion swap [ value-literal ] map
dup zero? [ drop recursive-state get f ] [
[ ensure-values ] keep
[ d-tail ] keep
(consume-values)
dup [ value-literal ] map
swap first value-recursion swap
] if ;
: transform-quot ( quot n -- newquot )

View File

@ -75,7 +75,7 @@ H{ } clone objc-methods set-global
[ \ <super> , ] when
swap cache-selector , \ selector ,
] [ ] make
swap second length 2 - [ ndip ] curry ;
swap second length 2 - [ ndip ] 2curry ;
MACRO: (send) ( selector super? -- quot )
[