我是Haskell的新手,我正在尝试创建一个名为Human的自定义数据类型列表.Human的定义如下:data Human = Human(String),因此Human本质上是一个String.人类的定义是高或短(S或T),女性或男性(F或M),以及他们是成人还是儿童(A或C).
我试过编写一个函数,它基本上给了我一个上面值的每个可能组合的人员列表,即= ["SFA","SFC",TMC"...].这就是我想出来的远:
func :: ([Human], state)
func = (x, state_) where
remainingHumans = [[height, sex, age] | height <- ["T", "S"], sex <- ["M", "F"], age <- ["A", "C"]]
allHumans = [Person(human) | human <- subsequences remainingHumans, length human == 3]
x = head allHumans
state _ = allHumans \\ [x]
Run Code Online (Sandbox Code Playgroud)
我尝试编译程序时收到此错误:
Couldn't match type ‘[[Char]]’ with ‘Char’
Expected type: String
Actual type: [[[Char]]]
Run Code Online (Sandbox Code Playgroud)
由于我很新,我也很失落如何继续.任何帮助或提示都会受到极大的关注