RosettaCodeData/Task/Range-expansion/Bracmat/range-expansion.bracmat

16 lines
342 B
Text
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
( expandRanges
= a b L
. @( !arg
: (#(?a:?b)|#?a "-" #?b)
(:?L|"," [%(expandRanges$!sjt:?L))
)
& whl
' ( (!L:&!b|(!b,!L))
: ?L
& -1+!b:~<!a:?b
)
& !L
|
)
& out$(str$(expandRanges$"-6,-3--1,3-5,7-11,14,15,17-20"))