More inference bug fixes
parent
cdad6df422
commit
83f552fae8
|
@ -68,9 +68,7 @@ M: object infer-call
|
||||||
apply-object
|
apply-object
|
||||||
] [
|
] [
|
||||||
drop
|
drop
|
||||||
[ "execute must be given a word" throw ]
|
"execute must be given a word" time-bomb
|
||||||
recursive-state get
|
|
||||||
infer-quot
|
|
||||||
] if
|
] if
|
||||||
] "infer" set-word-prop
|
] "infer" set-word-prop
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,12 @@ inference.dataflow tuples.private ;
|
||||||
IN: inference.transforms
|
IN: inference.transforms
|
||||||
|
|
||||||
: pop-literals ( n -- rstate seq )
|
: pop-literals ( n -- rstate seq )
|
||||||
dup zero? [ drop f ] [
|
dup zero? [ drop recursive-state get f ] [
|
||||||
[ ensure-values ] keep [ d-tail ] keep (consume-values)
|
[ ensure-values ] keep
|
||||||
dup first value-recursion swap [ value-literal ] map
|
[ d-tail ] keep
|
||||||
|
(consume-values)
|
||||||
|
dup [ value-literal ] map
|
||||||
|
swap first value-recursion swap
|
||||||
] if ;
|
] if ;
|
||||||
|
|
||||||
: transform-quot ( quot n -- newquot )
|
: transform-quot ( quot n -- newquot )
|
||||||
|
|
|
@ -75,7 +75,7 @@ H{ } clone objc-methods set-global
|
||||||
[ \ <super> , ] when
|
[ \ <super> , ] when
|
||||||
swap cache-selector , \ selector ,
|
swap cache-selector , \ selector ,
|
||||||
] [ ] make
|
] [ ] make
|
||||||
swap second length 2 - [ ndip ] curry ;
|
swap second length 2 - [ ndip ] 2curry ;
|
||||||
|
|
||||||
MACRO: (send) ( selector super? -- quot )
|
MACRO: (send) ( selector super? -- quot )
|
||||||
[
|
[
|
||||||
|
|
Loading…
Reference in New Issue