在Haskell中生成具有不同数量的Chars的字符串数组

use*_*688 0 combinations haskell list

我需要这样的东西:

[[i]++[j]| i <- ['a'..'d'], j <- ['a'..'d']] where I get the output:
["aa","ab","ac","ad","ba","bb","bc","bd","ca","cb","cc","cd","da","db","dc","dd"]
Run Code Online (Sandbox Code Playgroud)

我需要的是一种更动态的生成此输出数组的方法.因此,如果得到一个整数值3我应该看起来像:

[[i]++[j]++[k]| i <- ['a'..'d'], j <- ['a'..'d'], k <- ['a'..'d']
Run Code Online (Sandbox Code Playgroud)

Lou*_*man 6

replicateM n ['a'..'d']
Run Code Online (Sandbox Code Playgroud)

n 是重复的次数.