Haskell:函数依赖的非显而易见的例子

标签 haskell functional-dependencies

我见过的函数依赖的例子归结为映射 container -> element , 和 arguments -> result (如 Mult Matrix Vector Vector )。它们似乎用类型函数更好地表达。在数据库理论中,更复杂的关系被认为不是这种形式(如 a -> b, b -> a )。

Haskell 中是否有使用类型函数不能很好地编写的 FD 使用示例?

最佳答案

作为曼努埃尔·查克拉瓦蒂 explains ,类型函数和函数依赖具有大致相同的表现力,你可以将一个公式翻译成另一个公式。当您查看与其他语言扩展(如 GADT 或 UndecidableInstances)的交互时,它们才开始有所不同。我认为类型族目前更倾向于在 GHC 中实现,因为它们与 GADT 和存在类型的交互要简单得多。

关于Haskell:函数依赖的非显而易见的例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3378433/

相关文章:

haskell - 如何在 Quickcheck 中使用修饰符(在我的情况下为正)

haskell - 产生功能依赖的动机

haskell - 类型族卡在使用函数依赖的等效类型可以简化的地方

database - 函数依赖和规范化

haskell - 在Haskell中使用函数依赖时满足条件 'A uniquely determines B'

database-design - 设计无损连接、依赖关系保留、3NF 数据库

haskell - Haskell 中的 Char 算术

haskell - Haskell 中的快速数据结构

parsing - 如何在 monad 转换器解析器组合器中限制回溯

list - 如何为 Arrows 写下序列?