135得票5回答
Haskell和F#之间的主要区别是什么?

我在互联网上搜索了F#和Haskell之间的比较,但没有找到什么明确的答案。它们的主要区别是什么?选择其中一个的原因是什么?

134得票4回答
foldl和foldr在处理无限列表时的行为差异

这个问题中的myAny函数使用了foldr。当谓词满足时,它停止处理无限列表。 我用foldl重写了它: myAny :: (a -> Bool) -> [a] -> Bool myAny p list = foldl step False list where ...

133得票7回答
如何在Haskell中表示图形?

使用代数数据类型在 Haskell 中表示树或列表很容易。但是如何通过排版来表示图形呢?似乎你需要使用指针。我猜你可以这样做:type Nodetag = String type Neighbours = [Nodetag] data Node a = Node a Nodetag Neigh...

131得票22回答
为什么惰性求值很有用?

我一直在想懒惰求值(lazy evaluation)有什么用处。但至今还没有人能以让我理解的方式解释清楚,大多数情况下都只是“相信我”的结论。 注意:我并不是指记忆化(memoization)。

131得票4回答
依赖方法类型有哪些引人入胜的使用场景?

依赖方法类型曾经是一个实验性功能,现在已经默认启用,显然这在Scala社区引起了一些兴奋。 乍一看,这个功能的用处并不是很明显。Heiko Seeberger在这里发布了一个简单的例子,可以看到评论中使用方法类型参数也可以轻松地重现该例子。所以那不是一个非常有说服力的例子。(如果我错了,请纠...

131得票8回答
Haskell需要垃圾回收器吗?

我好奇为什么Haskell实现要使用GC。 在纯函数式语言中,我想不出需要使用GC的情况。这只是一种优化以减少复制,还是确实有必要? 我正在寻找会泄漏的示例代码,如果没有GC存在。

130得票4回答
Haskell中的卫语句、if-then-else和cases语句的区别

我有三个函数用来找到一个列表中的第n个元素:nthElement :: [a] -> Int -> Maybe a nthElement [] a = Nothing nthElement (x:xs) a | a <= 0 = Nothing ...

129得票10回答
如何从列表中获取第n个元素?

如何在Haskell中通过索引访问列表,类似于这个C代码?int a[] = { 34, 45, 56 }; return a[1];

128得票2回答
Haskell数据类型的内存占用

在Haskell中(主要是使用GHC),我如何找到存储某种数据类型的实际内存量?是否可以在运行时(例如在GHCi中)计算它,或者可以从组件估计复合数据类型的内存需求? 通常情况下,如果已知类型a和b的内存需求,那么代数数据类型的内存开销是多少,例如:data Uno = Uno a data...

128得票1回答
我该如何在GHCi中启用语言扩展?

我正试图在GHCi中启用XRankNTypes。 我该怎么做?