I have a call like someFunc @'SomeX @'SomeY .... Is there some aliasing syntax to make it shorter? Something like:
type ??? = @'SomeX @'SomeY
someFunc @??? ...
?
CodePudding user response:
Your example is very vague, but one thing you can do is to redefine someFunc with a more precise type:
someFunc :: a -> b -> a
someFunc x y = x
someFunc' :: Int -> Bool -> Int
someFunc' = someFunc
Then you can use someFunc' whenever you would previously write someFunc @Int @Bool.
Alternatively, if you only really care about that second @'SomeY argument, then you can use the snail: someFunc @_ @'SomeY. In this case the compiler will automatically try to fill in that underscore type application.
