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 ;
|
2008-03-29 04:34:48 -04:00
|
|
|
IN: classes.tuple.lib
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: reader-slots ( seq -- quot )
|
|
|
|
[ slot-spec-reader ] map [ get-slots ] curry ;
|
|
|
|
|
|
|
|
MACRO: >tuple< ( class -- )
|
2008-04-26 03:01:43 -04:00
|
|
|
all-slots rest-slice reader-slots ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
MACRO: >tuple*< ( class -- )
|
2008-03-27 06:13:52 -04:00
|
|
|
all-slots
|
2008-04-26 00:17:08 -04:00
|
|
|
[ slot-spec-name "*" tail? ] filter
|
2007-09-20 18:09:08 -04:00
|
|
|
reader-slots ;
|
|
|
|
|
|
|
|
|