|
(defun range-extract (numbers)
|
|
`@{(mapcar [iff [callf > length (ret 2)]
|
|
(ret `@[@1 0]-@[@1 -1]`)
|
|
(ret `@{@1 ","}`)]
|
|
(mapcar (op mapcar car)
|
|
(split [window-map 1 :reflect
|
|
(op list @2 (- @2 @1))
|
|
(sort (uniq numbers))]
|
|
(op where [chain second (op < 1)])))) ","}`)
|