factor/basis/literals/literals.factor

22 lines
584 B
Factor
Raw Normal View History

2008-12-12 02:00:23 -05:00
! (c) Joe Groff, see license for details
USING: accessors continuations kernel parser words quotations
2009-05-05 16:54:49 -04:00
combinators.smart vectors sequences fry ;
IN: literals
2009-05-05 16:54:49 -04:00
<PRIVATE
! Use def>> call so that CONSTANT:s defined in the same file can
! be called
: expand-literal ( seq obj -- seq' )
'[ _ dup word? [ def>> call ] when ] with-datastack ;
: expand-literals ( seq -- seq' )
[ [ { } ] dip expand-literal ] map concat ;
PRIVATE>
SYNTAX: $ scan-word expand-literal >vector ;
SYNTAX: $[ parse-quotation with-datastack >vector ;
2009-05-05 16:54:49 -04:00
SYNTAX: ${ \ } [ expand-literals ] parse-literal ;