创建单例列表

时间:2015-09-14 20:57:17

标签: haskell

我想从列表中的每个元素创建一个单例列表,其类型声明为

single :: [a] -> [[a]]。例如single [a,b,c] = [[a],[b],[c]]

我想知道是否有一种简单的方法可以做到这一点,例如使用与我想要的相反的concat

1 个答案:

答案 0 :(得分:5)

仅使用fmap return,因为return x :: [a] == [x]fmap列表只是map,但fmap是首选,因为它更通用。

事实上,你可以尽可能地使用

fmap pure :: (Functor f, Applicative g) => f a -> f (g a)