fork download
  1.  
  2. trans [] = []
  3. trans ([] : xss) = trans xss
  4. trans mat = ([h | (h:t) <- mat]) : trans ( [t | (h:t) <- mat ] )
  5.  
  6. right [] = []
  7. right mat = map reverse (trans mat)
  8.  
  9. unfoldMat [] = []
  10. unfoldMat mat = map head mat ++ unfoldMat (right (map tail mat))
  11.  
  12. main = print $ unfoldMat [[1,2,3], [4,5,6], [7,8,9], [10,11,12]]
Success #stdin #stdout 0s 5684KB
stdin
Standard input is empty
stdout
[1,4,7,10,11,12,9,6,3,2,5,8]