Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Agda-specific benchmarking structure.
Synopsis
- data Phase
- = Parsing
- | Import
- | Deserialization
- | Scoping
- | Typing
- | Termination
- | Positivity
- | Injectivity
- | ProjectionLikeness
- | Coverage
- | Highlighting
- | Serialization
- | DeadCode
- | InterfaceInstantiateFull
- | DeadCodeReachable
- | Graph
- | RecCheck
- | Reduce
- | Level
- | Compare
- | With
- | ModuleName
- | Compaction
- | BuildInterface
- | Sort
- | BinaryEncode
- | Compress
- | OperatorsExpr
- | OperatorsPattern
- | Free
- | OccursCheck
- | CheckLHS
- | CheckRHS
- | TypeSig
- | Generalize
- | InstanceSearch
- | Reflection
- | InitialCandidates
- | FilterCandidates
- | OrderCandidates
- | CheckOverlap
- | UnifyIndices
- | InverseScopeLookup
- | TopModule TopLevelModuleName
- | Typeclass QName
- | Definition QName
- type Benchmark = Benchmark Phase
- type Account = Account Phase
- isModuleAccount :: Account -> Bool
- isDefAccount :: Account -> Bool
- isInternalAccount :: Account -> Bool
- benchmarks :: IORef Benchmark
- billToIO :: Account -> IO a -> IO a
- billToPure :: Account -> a -> a
Documentation
Phases to allocate CPU time to.
Parsing | Happy parsing and operator parsing. |
Import | Import chasing. |
Deserialization | Reading interface files. |
Scoping | Scope checking and translation to abstract syntax. |
Typing | Type checking and translation to internal syntax. |
Termination | Termination checking. |
Positivity | Positivity checking and polarity computation. |
Injectivity | Injectivity checking. |
ProjectionLikeness | Checking for projection likeness. |
Coverage | Coverage checking and compilation to case trees. |
Highlighting | Generating highlighting info. |
Serialization | Writing interface files. |
DeadCode | Dead code elimination. |
InterfaceInstantiateFull | Unfolding all metas before serialization. |
DeadCodeReachable | Dead code reachable definitions subphase. |
Graph | Subphase for |
RecCheck | Subphase for |
Reduce | Subphase for |
Level | Subphase for |
Compare | Subphase for |
With | Subphase for |
ModuleName | Subphase for |
Compaction | Subphase for |
BuildInterface | Subphase for |
Sort | Subphase for |
BinaryEncode | Subphase for |
Compress | Subphase for |
OperatorsExpr | Subphase for |
OperatorsPattern | Subphase for |
Free | Subphase for |
OccursCheck | Subphase for |
CheckLHS | Subphase for |
CheckRHS | Subphase for |
TypeSig | Subphase for |
Generalize | Subphase for |
InstanceSearch | Subphase for |
Reflection | Subphase for |
InitialCandidates | Subphase for |
FilterCandidates | Subphase for |
OrderCandidates | Subphase for |
CheckOverlap | Subphase for |
UnifyIndices | Subphase for |
InverseScopeLookup | Pretty printing names. |
TopModule TopLevelModuleName | |
Typeclass QName | |
Definition QName |
Instances
isModuleAccount :: Account -> Bool Source #
isDefAccount :: Account -> Bool Source #
isInternalAccount :: Account -> Bool Source #
Benchmarking in the IO monad.
benchmarks :: IORef Benchmark Source #
Global variable to store benchmark statistics.
billToIO :: Account -> IO a -> IO a Source #
Benchmark an IO computation and bill it to the given account.
billToPure :: Account -> a -> a Source #
Benchmark a pure computation and bill it to the given account.
Orphan instances
MonadBench IO Source # | |
type BenchPhase IO Source # getBenchmark :: IO (Benchmark (BenchPhase IO)) Source # putBenchmark :: Benchmark (BenchPhase IO) -> IO () Source # modifyBenchmark :: (Benchmark (BenchPhase IO) -> Benchmark (BenchPhase IO)) -> IO () Source # |