RosettaCodeData/Task/Range-extraction/PicoLisp/range-extraction.l
2023-07-01 13:44:08 -04:00

11 lines
347 B
Text

(de rangeextract (Lst)
(glue ","
(make
(while Lst
(let (N (pop 'Lst) M N)
(while (= (inc M) (car Lst))
(setq M (pop 'Lst)) )
(cond
((= N M) (link N))
((= (inc N) M) (link N M))
(T (link (list N '- M))) ) ) ) ) ) )