Haskell:文字应用程序的快捷方式

cyvaqqii  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(145)

我有一个类似someFunc @'SomeX @'SomeY ...的调用。是否有一些别名语法可以使它更短?类似于:

type ??? = @'SomeX @'SomeY

someFunc @??? ...

n8ghc7c1

n8ghc7c11#

您的示例非常模糊,但您可以做的一件事是使用更精确的类型重新定义someFunc

someFunc :: a -> b -> a
someFunc x y = x

someFunc' :: Int -> Bool -> Int
someFunc' = someFunc

然后,只要您以前写someFunc @Int @Bool,就可以使用someFunc'
或者,如果您只关心第二个@'SomeY参数,那么您可以使用snail:someFunc @_ @'SomeY。在这种情况下,编译器将自动尝试填充该下划线类型的应用程序。

相关问题