代码之家  ›  专栏  ›  技术社区  ›  michid

在计算表达式的类型时,是否可以指示ghci为约束使用具体类型?

  •  0
  • michid  · 技术社区  · 5 年前

    我可以用ghci来评估 fmap :

    Prelude> :t fmap
    fmap :: Functor f => (a -> b) -> f a -> f b
    

    有什么方法可以指示ghci绑定吗 f 到一个特定的实例 Functor 并打印出得到的类型签名。I.e为 [] 它将打印

    (a -> b) -> [a] -> [b]
    

    如果没有,是否有任何技巧或迂回的方法来实现同样的目标?这对于推导更复杂的表达式和functor的类型签名特别方便(例如。 (->) a ).

    1 回复  |  直到 5 年前
        1
  •  2
  •   leftaroundabout    5 年前

    最简单的方法是

    Prelude> :set -XTypeApplications 
    Prelude> :t fmap @[]
    fmap @[] :: (a -> b) -> [a] -> [b]
    
    推荐文章