{-# 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 = forall a b. Customiser Fudlogue -> F a b -> IO ()
fudlogue' forall a. Customiser a
standard
fudlogue' :: Customiser Fudlogue -> F a b -> IO ()
fudlogue' :: forall a b. Customiser Fudlogue -> F a b -> IO ()
fudlogue' Customiser Fudlogue
pmod F a b
f = forall {i} {o}. F i o -> IO ()
fudIO1 (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 forall xxx. HasCache xxx => xxx -> Bool
getCache xxx
ps then forall {i} {o}. F i o -> F i o
allcacheF else 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