testrun env = ( `runReader` env) $ do ③
cons1 <- consume
cons2 <- consumue
constOthers <- local (\e->e{powSaveMode =True}) $ do
cons3 <- consume ① ②
cons4 <- consume
return (cons3 + cons4}
return (cons1+cons2+consOthers)
cons1 <- consume
cons2 <- consumue
constOthers <- local (\e->e{powSaveMode =True}) $ do
cons3 <- consume ① ②
cons4 <- consume
return (cons3 + cons4}
return (cons1+cons2+consOthers)
local :: (r->r) -> Reader r a -> Reader r a
① ② ①がモード切替の関数 ②do以降が対象
① ② ①がモード切替の関数 ②do以降が対象
「最初2回通常モード後半2回がSaveモードで電力を測定したものをすべて合計」というレシピをつくり(③のdo以降)それに、testrunのenvでその都度PowerEnvを入れてやる。そんな、流れでしょうか。
( ) `runReader` env は runReader ( ) env ということ?のようです。( )が未適用のところでここに③のdo以下のレシピがくるような、部分適用かと。
0 件のコメント:
コメントを投稿