(phixonline)--> with javascript_semantics function range_expansion(string range) sequence s = split(range,','), res = {} for i=1 to length(s) do string si = s[i] integer k = find('-',si,2) if k=0 then res = append(res,to_number(si)) else integer startrange = to_number(si[1..k-1]), endofrange = to_number(si[k+1..$]) for l=startrange to endofrange do res = append(res,l) end for end if end for return res end function ?range_expansion("-6,-3-1,3-5,7-11,14,15,17-20") ?range_expansion("-6,-3--1,3-5,7-11,14,15,17-20")