13 lines
425 B
Factor
13 lines
425 B
Factor
! (c)2009 Slava Pestov & Joe Groff, see BSD license
|
|
USING: combinators.short-circuit fry make math kernel sequences ;
|
|
IN: sequences.squish
|
|
|
|
: (squish) ( seq quot: ( obj -- ? ) -- )
|
|
2dup call [ '[ _ (squish) ] each ] [ drop , ] if ; inline recursive
|
|
|
|
: squish ( seq quot exemplar -- seq' )
|
|
[ [ (squish) ] ] dip make ; inline
|
|
|
|
: squish-strings ( seq -- seq' )
|
|
[ { [ sequence? ] [ integer? not ] } 1&& ] "" squish ;
|