2007-09-20 18:09:08 -04:00
|
|
|
! Copyright (C) 2007 Doug Coleman.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2008-03-27 06:13:52 -04:00
|
|
|
USING: kernel macros sequences slots words mirrors ;
|
2007-09-20 18:09:08 -04:00
|
|
|
IN: tuples.lib
|
|
|
|
|
|
|
|
: reader-slots ( seq -- quot )
|
|
|
|
[ slot-spec-reader ] map [ get-slots ] curry ;
|
|
|
|
|
|
|
|
MACRO: >tuple< ( class -- )
|
2008-03-27 06:13:52 -04:00
|
|
|
all-slots 1 tail-slice reader-slots ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
MACRO: >tuple*< ( class -- )
|
2008-03-27 06:13:52 -04:00
|
|
|
all-slots
|
2007-09-20 18:09:08 -04:00
|
|
|
[ slot-spec-name "*" tail? ] subset
|
|
|
|
reader-slots ;
|
|
|
|
|
|
|
|
|