mirrors: implement keys/values.
parent
3bc658e8d5
commit
290aaa3dcd
|
@ -44,6 +44,13 @@ M: mirror >alist ( mirror -- alist )
|
||||||
[ object>> [ swap slot ] curry ] bi
|
[ object>> [ swap slot ] curry ] bi
|
||||||
map zip ;
|
map zip ;
|
||||||
|
|
||||||
|
M: mirror keys ( mirror -- keys )
|
||||||
|
object-slots [ name>> ] map ;
|
||||||
|
|
||||||
|
M: mirror values ( mirror -- values )
|
||||||
|
[ object-slots [ offset>> ] map ]
|
||||||
|
[ object>> [ swap slot ] curry ] bi map ;
|
||||||
|
|
||||||
M: mirror assoc-size object>> layout-of second ;
|
M: mirror assoc-size object>> layout-of second ;
|
||||||
|
|
||||||
INSTANCE: mirror assoc
|
INSTANCE: mirror assoc
|
||||||
|
|
Loading…
Reference in New Issue