有序的乐趣

Mic*_*ard 2 haskell

我有一组五个函数,可以称为五种方法之一.我是这样用patern-matching表达的,

type Configure = ReaderT Config IO ()
data Step = PreVal
          | PreProc
          | Proc
          | PostProc
          | PostVal

foo :: Step -> Configure
foo PreVal = do some stuff
foo PreProc = do some stuff
Run Code Online (Sandbox Code Playgroud)

等等,barbaz设置相似

我知道如何用来sequence调用一系列动作.鉴于[Step],我怎么能去打电话[foo,bar,baz].按顺序,同时也调用每个可能的步骤.

所以它应该这样做 foo PreVal foo PreProc ...依此类推 bar Preval bar PreProc ...等等 baz......

Lou*_*man 5

mapM_ (\ f -> mapM_ f [PreVal, PreProc, Proc, PostProc, PostVal]) [foo, bar, baz]
Run Code Online (Sandbox Code Playgroud)