相关疑难解决方法(0)

Haskell中2个列表的笛卡尔积

我希望在Haskell中生成2个列表的笛卡尔积,但我无法弄清楚如何做到这一点.笛卡尔积给出了列表元素的所有组合:

xs = [1,2,3]
ys = [4,5,6]

cartProd :: [a] -> [b] -> [(a,b)]
cartProd xs ys ==> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]
Run Code Online (Sandbox Code Playgroud)

这不是一个实际的家庭作业问题,与任何此类问题无关,但解决这个问题的方式可能有助于我坚持下去.

haskell combinatorics cartesian-product

65
推荐指数
10
解决办法
3万
查看次数

获取Haskell中所有可能的数据类型值的列表

如果我有数据类型说:

data Color = Red | Yellow | Green
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将其转换为[Color]类型列表获取所有可能的值?[红色,黄色,绿色]

也许这是一个完整的反模式?

haskell types list

34
推荐指数
3
解决办法
6714
查看次数

标签 统计

haskell ×2

cartesian-product ×1

combinatorics ×1

list ×1

types ×1