我有一个类似someFunc @'SomeX @'SomeY ...的调用。是否有一些别名语法可以使它更短?类似于:
someFunc @'SomeX @'SomeY ...
type ??? = @'SomeX @'SomeY someFunc @??? ...
?
n8ghc7c11#
您的示例非常模糊,但您可以做的一件事是使用更精确的类型重新定义someFunc:
someFunc
someFunc :: a -> b -> a someFunc x y = x someFunc' :: Int -> Bool -> Int someFunc' = someFunc
然后,只要您以前写someFunc @Int @Bool,就可以使用someFunc'。或者,如果您只关心第二个@'SomeY参数,那么您可以使用snail:someFunc @_ @'SomeY。在这种情况下,编译器将自动尝试填充该下划线类型的应用程序。
someFunc @Int @Bool
someFunc'
@'SomeY
someFunc @_ @'SomeY
1条答案
按热度按时间n8ghc7c11#
您的示例非常模糊,但您可以做的一件事是使用更精确的类型重新定义
someFunc
:然后,只要您以前写
someFunc @Int @Bool
,就可以使用someFunc'
。或者,如果您只关心第二个
@'SomeY
参数,那么您可以使用snail:someFunc @_ @'SomeY
。在这种情况下,编译器将自动尝试填充该下划线类型的应用程序。