Fixes
parent
37906ed524
commit
616f96dbb7
|
@ -22,6 +22,8 @@ H{ } "s" set
|
|||
[ number ] [ number object class-and ] unit-test
|
||||
[ number ] [ object number class-and ] unit-test
|
||||
[ null ] [ slice reversed class-and ] unit-test
|
||||
[ null ] [ general-t \ f class-and ] unit-test
|
||||
[ object ] [ general-t \ f class-or ] unit-test
|
||||
|
||||
TUPLE: first-one ;
|
||||
TUPLE: second-one ;
|
||||
|
|
|
@ -127,12 +127,14 @@ DEFER: (class<)
|
|||
: (class-or) ( class class -- class )
|
||||
[ flatten-class ] 2apply class-or-fixup lookup-tuple-union ;
|
||||
|
||||
: class-and-fixup ( set set -- set )
|
||||
2dup [ tuple swap key? ] either?
|
||||
[ 2drop H{ { tuple tuple } } ] [ intersect ] if ;
|
||||
|
||||
: (class-and) ( class class -- class )
|
||||
[ flatten-class ] 2apply class-and-fixup lookup-tuple-union ;
|
||||
2dup [ tuple swap class< ] either? [
|
||||
[ flatten-builtin-class ] 2apply
|
||||
intersect lookup-union
|
||||
] [
|
||||
[ flatten-class ] 2apply
|
||||
intersect lookup-tuple-union
|
||||
] if ;
|
||||
|
||||
: tuple-class-and ( class1 class2 -- class )
|
||||
dupd eq? [ drop null ] unless ;
|
||||
|
|
|
@ -354,7 +354,7 @@ M: object infer-call
|
|||
|
||||
\ setenv { object fixnum } { } <effect> set-primitive-effect
|
||||
|
||||
\ (stat) { string } { object object object object } <effect> set-primitive-effect
|
||||
\ exists? { string } { object } <effect> set-primitive-effect
|
||||
|
||||
\ (directory) { string } { array } <effect> set-primitive-effect
|
||||
|
||||
|
|
Loading…
Reference in New Issue