Haskell解决多个参数

时间:2018-03-26 19:21:09

标签: haskell currying

我有一个Haskell数据构造函数,用于定义" API" (在我的应用程序的更高层),所以我不想改变它:

ViewModel = ViewModel { foo :: Entity Foo
                      , bar :: Entity Bar
                      , baz :: Entity Baz
                      }

我有一个产生三元组列表的函数:

getViewModels :: Monad m => m [(Entity Foo, Entity Bar, Entity Baz)]

是否有一种通用的方法来消除ViewModel以消耗三元组的方式?更一般地说,是否有办法让ViewModel消费n - 元组?

当我调用我的代码时,我想到了这样的事情:

do
  views <- getViewModels
  return . fmap (uncurryN ViewModel) $ views

其中N是一些自然数。

0 个答案:

没有答案