{-# LANGUAGE CPP #-}
module DFudIO(Fudlogue,fudlogue,fudlogue',HasCache(..)) where
import FDefaults
import FudIO(fudIO1)
import Fudget
import NewCache(allcacheF)
import CmdLineEnv(argFlag)
#include "defaults.h"
data Fudlogue = Pars [Pars]
data Pars = Cache Bool
parameter_class(Cache,Bool)
parameter_instance(Cache,Fudlogue)
fudlogue :: F a b -> IO ()
fudlogue = Customiser Fudlogue -> F a b -> IO ()
forall a b. Customiser Fudlogue -> F a b -> IO ()
fudlogue' Customiser Fudlogue
forall a. Customiser a
standard
fudlogue' :: Customiser Fudlogue -> F a b -> IO ()
fudlogue' :: Customiser Fudlogue -> F a b -> IO ()
fudlogue' Customiser Fudlogue
pmod F a b
f = F a b -> IO ()
forall i o. F i o -> IO ()
fudIO1 (Customiser Fudlogue -> F a b -> F a b
forall xxx i o. HasCache xxx => (Fudlogue -> xxx) -> F i o -> F i o
cache Customiser Fudlogue
pmod F a b
f)
cache :: (Fudlogue -> xxx) -> F i o -> F i o
cache Fudlogue -> xxx
pmod = if xxx -> Bool
forall xxx. HasCache xxx => xxx -> Bool
getCache xxx
ps then F i o -> F i o
forall i o. F i o -> F i o
allcacheF else F i o -> F i o
forall a. Customiser a
id
where ps :: xxx
ps = Fudlogue -> xxx
pmod ([Pars] -> Fudlogue
Pars [Bool -> Pars
Cache Bool
usecache])
usecache :: Bool
usecache = [Char] -> Bool -> Bool
argFlag [Char]
"cache" Bool
True