Fix tuple>array and tuple reshaping

db4
Slava Pestov 2008-11-06 01:10:56 -06:00
parent bfd119e3b5
commit 9160e667a7
2 changed files with 3 additions and 9 deletions

View File

@ -238,12 +238,6 @@ C: <laptop> laptop
test-laptop-slot-values
[ laptop ] [
"laptop" get 1 slot
dup echelon>> swap
superclasses>> nth
] unit-test
[ "TUPLE: laptop < computer battery ;" ] [
[ \ laptop see ] with-string-writer string-lines second
] unit-test

View File

@ -59,7 +59,7 @@ PRIVATE>
: tuple>array ( tuple -- array )
prepare-tuple>array
>r copy-tuple-slots r>
class>> prefix ;
first prefix ;
: tuple-slots ( tuple -- seq )
prepare-tuple>array drop copy-tuple-slots ;
@ -177,13 +177,13 @@ ERROR: bad-superclass class ;
[ first3 update-slot ] with map ;
: permute-slots ( old-values layout -- new-values )
[ class>> all-slots ] [ outdated-tuples get at ] bi
[ first all-slots ] [ outdated-tuples get at ] bi
compute-slot-permutation
apply-slot-permutation ;
: update-tuple ( tuple -- newtuple )
[ tuple-slots ] [ layout-of ] bi
[ permute-slots ] [ class>> ] bi
[ permute-slots ] [ first ] bi
slots>tuple ;
: outdated-tuple? ( tuple assoc -- ? )