Removing syntactic sugar: List comprehension in Haskell

后端 未结 4 1062
星月不相逢
星月不相逢 2020-12-03 14:43

Can I unsugar list comprehension in this expression:

[(i,j) | i <- [1..4], j <- [i+1..4]]

This is the output:

[(1,2),         


        
4条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-03 15:11

    The desugared code is:

    concatMap (\i -> concatMap (\j -> (i, j) : []) [i+1..4]) [1..4]
    

    Which can be refactored to Tsuyoshi Ito's answer.

提交回复
热议问题