我有两次最近重构的代码,以便更改参数的顺序,因为有太多的代码,黑客喜欢flip或\x -> foo bar x 42正在发生.
在设计功能签名时,哪些原则可以帮助我充分利用currying?
假设我有一个类型T a b,我想编写一个实例声明,例如Functor,范围的实例声明,a而不是 b.这可能没有定义newtype?
我读了haskell中多个类型变量的顺序是什么规则?这让我相信这是不可能的,但这对我来说似乎完全是武断的.
我希望的是:
instance Functor (T * b)
Run Code Online (Sandbox Code Playgroud)