小编Nif*_*dde的帖子

如何将具有两个生成器的列表理解重新表达为每个具有一个生成器的两个列表理解并获得相同的结果?

我正在尝试学习 Haskell,并且正在做一些涉及列表的练习。但我正在努力进行有关列表理解的练习,我真的需要有人来帮助我。练习内容如下:

[(x,y) | x <- [1,2], y <- [3,4]]展示如何使用具有单个生成器的两个推导式来重新表达具有两个生成器的列表推导式。

提示:将一种推导式嵌套在另一种推导式中,并利用库函数concat :: [[a]] -> [a]

我感谢所有的答案和解释。谢谢。

haskell functional-programming list-comprehension

4
推荐指数
1
解决办法
709
查看次数

Haskell:这些表达式的类型是什么(如果有的话)?

我是 Haskell 的新手,我正在做一些练习来尽可能多地学习关于类型的知识,但有些问题对我来说真的很困惑。我正在苦苦挣扎的练习内容如下:

以下表达式的类型是什么?如果表达式没有类型,请尽可能多地说明。还要确保在需要时声明必要的类限制。

5 + 8 :: ?
(+) 2 :: ?
(+2) :: ?
(2+) :: ?
Run Code Online (Sandbox Code Playgroud)

我知道 5 + 8 将返回一个 Int,但其他人本身并不是有效的表达式。这是否意味着它们没有类型,还是我应该将它们视为函数 (f :: Int -> Int)(fx = x + 2)?

haskell functional-programming

1
推荐指数
1
解决办法
100
查看次数