[英]Function for given type in Haskell
我想知道在Haskell中是否有更好的方法来查找FUNCTIONS。 例如-
Find function for given type- (a->b->c) ?
我总是必须用蛮力思考。 请帮忙。
我已经经历了-Haskell:从type推导函数 ,但是找不到更好的方法。
有时是可能的。 例如,我们都知道,没有类型forall a. a
“适当”值forall a. a
forall a. a
并且只有一个类型为forall a . a -> a
forall a . a -> a
,但是有无限多个类型为forall a. (a -> a) -> a -> a
forall a. (a -> a) -> a -> a
。
特别是,您可以将某些Haskell类型视为类型理论中的表达定理,并将它们实例化的过程作为证明该定理的过程。 没有通用的方法可以执行此操作,但是有多种重言式类型,例如forall a . a -> a
a- forall a . a -> a
具有容易发现的证据。
要了解更多关于此过程中,考虑阅读软件基金会由本杰明·皮尔斯或与相关类型认证的编程亚当Chlipala。 两者都探索了如何使用Coq语言证明像这样的定理(实例化类型),该语言类似于基于OCaml的Haskell。
除了DJINN(外部工具)之外,您还可以使用以下代码
http://okmij.org/ftp/Haskell/types.html#de-typechecker
在Haskell中非正式地将类型转换为值。 您可以立即调用此函数。
我猜.. (\\xy -> (x,y) )
可以适合类型(a->b->c)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.