なんかよくわからんからあとで復習する。

n番目の要素とそれ以外のリストからなるタプルを生成する。

Prelude>  let (l,a:r)=splitAt 1 [1..4] in (a,l++r)
(2,[1,3,4])
Prelude>  let (l,a:r)=splitAt 2 [1..4] in (a,l++r)
(3,[1,2,4])
Prelude>  let (l,a:r)=splitAt 3 [1..4] in (a,l++r)
(4,[1,2,3])

なんだ、letの表記になれてないだけか。

main=putStrLn $ show b 
b=(a,l++r) where (l,a:r)=splitAt 3 [1..4]

こういう事だった。