]> gitweb.factorcode.org Git - factor.git/blob - extra/tools/seq/seq.factor
4969a548796c92f0f25eda15088c844f36e66848
[factor.git] / extra / tools / seq / seq.factor
1 ! Copyright (C) 2011 John Benediktsson
2 ! See http://factorcode.org/license.txt for BSD license
3
4 USING: combinators command-line io kernel math.order math.parser
5 math.ranges namespaces sequences ;
6
7 IN: tools.seq
8
9 : usage ( -- )
10     "Usage: seq [first [incr]] last" print ;
11
12 : seq ( a step b -- )
13     swap <range> [ number>string print ] each ;
14
15 : run-seq ( -- )
16     command-line get dup length {
17         { 1 [ first string>number [ 1 1 ] dip seq ] }
18         { 2 [ first2 [ string>number ] bi@ 2dup before? 1 -1 ? swap seq ] }
19         { 3 [ first3 [ string>number ] tri@ seq ] }
20         [ 2drop usage ]
21     } case ;
22
23 MAIN: run-seq