gpt4 book ai didi

Haskell 泛型类型参数解析器工具或方法

转载 作者:行者123 更新时间:2023-12-05 08:05:25 25 4
gpt4 key购买 nike

例如,让我们看一下这些函数的类型:

:t traverse
traverse
:: (Applicative f, Traversable t) => (a -> f b) -> t a -> f (t b)

:t id
id :: a -> a

它们没有具体类型,但有通用类型参数: a , f , b , t (如果他们调用的不是通用类型参数,请纠正我)

如果我结合idtraverse以这种方式在一起,

:t traverse id [Just 1, Just 2, Nothing] 
traverse id [Just 1, Just 2, Nothing] :: Num b => Maybe [b]

Haskell 现在可以为类型变量绑定(bind)一些具体类型 a , f , b , t .

t = []
a = Maybe bb
f = Maybe
b = Num bb => bb

下面我手动推断参数的类型和映射,Haskell 中是否有任何方法或工具可以自动执行此操作,以便在示例中提取一些组合部分(idtraverse),提取它们一般类型签名,并在输出上生成从泛型类型参数名称到具体推断类型的映射?

另请参阅此处的第一个示例:https://wiki.haskell.org/Type_inference对于表达式“map ord”,Haskell 如何找到实际类型与名称的绑定(bind)。

所以当我们单独查看函数时,我们只有名称 a , f , b , t .但是随后我们组合这些函数并提供一些额外的信息,例如[Just 1, Just 2, Nothing] , 和名字 a , f , b , t映射到具体类型。

我想自动捕捉并显示这个映射。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com