Fix tuple>array and tuple reshaping
parent
bfd119e3b5
commit
9160e667a7
|
@ -238,12 +238,6 @@ C: <laptop> laptop
|
||||||
|
|
||||||
test-laptop-slot-values
|
test-laptop-slot-values
|
||||||
|
|
||||||
[ laptop ] [
|
|
||||||
"laptop" get 1 slot
|
|
||||||
dup echelon>> swap
|
|
||||||
superclasses>> nth
|
|
||||||
] unit-test
|
|
||||||
|
|
||||||
[ "TUPLE: laptop < computer battery ;" ] [
|
[ "TUPLE: laptop < computer battery ;" ] [
|
||||||
[ \ laptop see ] with-string-writer string-lines second
|
[ \ laptop see ] with-string-writer string-lines second
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
|
@ -59,7 +59,7 @@ PRIVATE>
|
||||||
: tuple>array ( tuple -- array )
|
: tuple>array ( tuple -- array )
|
||||||
prepare-tuple>array
|
prepare-tuple>array
|
||||||
>r copy-tuple-slots r>
|
>r copy-tuple-slots r>
|
||||||
class>> prefix ;
|
first prefix ;
|
||||||
|
|
||||||
: tuple-slots ( tuple -- seq )
|
: tuple-slots ( tuple -- seq )
|
||||||
prepare-tuple>array drop copy-tuple-slots ;
|
prepare-tuple>array drop copy-tuple-slots ;
|
||||||
|
@ -177,13 +177,13 @@ ERROR: bad-superclass class ;
|
||||||
[ first3 update-slot ] with map ;
|
[ first3 update-slot ] with map ;
|
||||||
|
|
||||||
: permute-slots ( old-values layout -- new-values )
|
: 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
|
compute-slot-permutation
|
||||||
apply-slot-permutation ;
|
apply-slot-permutation ;
|
||||||
|
|
||||||
: update-tuple ( tuple -- newtuple )
|
: update-tuple ( tuple -- newtuple )
|
||||||
[ tuple-slots ] [ layout-of ] bi
|
[ tuple-slots ] [ layout-of ] bi
|
||||||
[ permute-slots ] [ class>> ] bi
|
[ permute-slots ] [ first ] bi
|
||||||
slots>tuple ;
|
slots>tuple ;
|
||||||
|
|
||||||
: outdated-tuple? ( tuple assoc -- ? )
|
: outdated-tuple? ( tuple assoc -- ? )
|
||||||
|
|
Loading…
Reference in New Issue