Flame Graph
Reset Zoom
Search
Text.Parsix.Combinators.position.\ (7 samples, 0.70%)
Text.Parsix.Parser.Internal.satisfy.\ (5 samples, 0.50%)
Options.Applicative.Extra.execParserPure (848 samples, 84.80%)
Options.Applicative.Extra.execParserPure
Elaboration.checkDefinition (2 samples, 0.20%)
Rock.Core.fetch (1 samples, 0.10%)
Parser.moduleName (3 samples, 0.30%)
Data.Dependent.Map.Internal.lookup.go (52 samples, 5.20%)
Data.D..
Main.checkCommand (848 samples, 84.80%)
Main.checkCommand
Data.Dependent.Map.Internal.balance.sizeL (37 samples, 3.70%)
Data..
Data.HashMap.Base.unsafeInsert (1 samples, 0.10%)
Parser.literal (1 samples, 0.10%)
Parser.atomicTerm (8 samples, 0.80%)
Elaboration.inferUnspanned (1 samples, 0.10%)
Text.Parser.Char.satisfy (5 samples, 0.50%)
Text.Parser.Combinators.<?> (6 samples, 0.60%)
Text.Parser.Char.text (1 samples, 0.10%)
Data.Dependent.Map.insertLookupWithKey.go.l' (1 samples, 0.10%)
Rock.Core.fmap (1 samples, 0.10%)
Elaboration.check (1 samples, 0.10%)
Name.compare (4 samples, 0.40%)
UNKNOWN (151 samples, 15.10%)
UNKNOWN
Text.Parsix.Position.next (1 samples, 0.10%)
Parser.clauses (3 samples, 0.30%)
Data.Dependent.Map.insertLookupWithKey.go.r' (1 samples, 0.10%)
Parser.idLetter (1 samples, 0.10%)
Parser.indented (1 samples, 0.10%)
Parser.indented (1 samples, 0.10%)
Parser.name (1 samples, 0.10%)
Text.Parser.Combinators.<?> (6 samples, 0.60%)
Parser.recoveringIndentedTerm (3 samples, 0.30%)
Data.HashMap.Base.lookup# (1 samples, 0.10%)
Text.Parser.Char.satisfy (3 samples, 0.30%)
all (1,000 samples, 100%)
Scope.compare (46 samples, 4.60%)
Scope..
Elaboration.checkUnspanned (1 samples, 0.10%)
Rock.Core.writer (186 samples, 18.60%)
Rock.Core.writer
Parser.clauses (1 samples, 0.10%)
Rules.rules.nonInput (170 samples, 17.00%)
Rules.rules.nonInput
Text.Parsix.Parser.Internal.satisfy.\ (5 samples, 0.50%)
Parser.indented (1 samples, 0.10%)
Rock.Core.fmap (55 samples, 5.50%)
Rock.Co..
Parser.atomicTerm (1 samples, 0.10%)
Elaboration.Matching.splitEqualityOr (1 samples, 0.10%)
Data.GADT.Compare.TH.compare' (74 samples, 7.40%)
Data.GADT...
Parser.plicitPattern (1 samples, 0.10%)
Text.Parsix.Parser.Internal.satisfy (2 samples, 0.20%)
Text.Parser.Char.char (1 samples, 0.10%)
Rock.Core.>>= (843 samples, 84.30%)
Rock.Core.>>=
Text.Parser.Token._styleStart (3 samples, 0.30%)
Text.Parsix.Combinators.position.\ (53 samples, 5.30%)
Text.P..
Text.Parsix.Parser.Internal.pure.\ (1 samples, 0.10%)
Parser.string (5 samples, 0.50%)
Rock.Core.memoise.\ (576 samples, 57.60%)
Rock.Core.memoise.\
Text.Parser.Char.string (1 samples, 0.10%)
Text.Parser.Combinators.skipMany (1 samples, 0.10%)
Parser.moduleHeader.moduleExposing (1 samples, 0.10%)
Rock.Core.fmap (170 samples, 17.00%)
Rock.Core.fmap
Rock.Core.writer (2 samples, 0.20%)
Text.Parser.Combinators.<?>.\ (2 samples, 0.20%)
Parser.someSpace.comments (1 samples, 0.10%)
Parser.term (1 samples, 0.10%)
Parser.term (1 samples, 0.10%)
Text.Parsix.Parser.Internal.fmap.\ (1 samples, 0.10%)
Text.Parsix.Position.next (1 samples, 0.10%)
Text.Parsix.Parser.Internal.<|>.\ (1 samples, 0.10%)
Text.Parsix.Parser.Internal.satisfy (5 samples, 0.50%)
Data.HashMap.Base.lookup# (1 samples, 0.10%)
Data.Dependent.Map.Internal.lookup (54 samples, 5.40%)
Data.De..
Data.GADT.Compare.TH.geq' (1 samples, 0.10%)
Parser.parseText (166 samples, 16.60%)
Parser.parseText
Text.Parser.Combinators.<?> (1 samples, 0.10%)
Command.Check.check (848 samples, 84.80%)
Command.Check.check
Text.Parser.Char.satisfy (3 samples, 0.30%)
Parser.unexpected (1 samples, 0.10%)
Options.Applicative.Common.runParser (848 samples, 84.80%)
Options.Applicative.Common.runParser
Resolution.moduleScopes (1 samples, 0.10%)
Query.gcompare (34 samples, 3.40%)
Que..
Parser.clause (3 samples, 0.30%)
Elaboration.Clauses.check (1 samples, 0.10%)
Text.Parsix.Parser.Internal.unexpected.\ (1 samples, 0.10%)
Data.Dependent.Map.Internal.size (12 samples, 1.20%)
Driver.runTask.rules.\ (1 samples, 0.10%)
Parser.spanned (19 samples, 1.90%)
P..
Text.Parser.Combinators.skipSome (2 samples, 0.20%)
Parser.reserved (1 samples, 0.10%)
Parser.prename (2 samples, 0.20%)
Options.Applicative.Extra.execParserPure.p (848 samples, 84.80%)
Options.Applicative.Extra.execParserPure.p
Name.compare (5 samples, 0.50%)
Name.compare (9 samples, 0.90%)
Parser.multilineComment (5 samples, 0.50%)
Parser.integer (1 samples, 0.10%)
Data.Dependent.Map.Internal.rotateL (1 samples, 0.10%)
Text.Parser.Combinators.skipSome (1 samples, 0.10%)
Data.Dependent.Map.Internal.balance (173 samples, 17.30%)
Data.Dependent.Map.Interna..
Data.HashMap.Base.unsafeInsert.go (1 samples, 0.10%)
Parser.atomicTerm.lets (1 samples, 0.10%)
Resolution.importedNames.qualifiedNames (2 samples, 0.20%)
Text.Parsix.Parser.Internal.>>=.\ (135 samples, 13.50%)
Text.Parsix.Parser.I..
Rules.rules.noError (6 samples, 0.60%)
Parser.satisfy (1 samples, 0.10%)
Options.Applicative.Extra.customExecParser (848 samples, 84.80%)
Options.Applicative.Extra.customExecParser
Parser.char (2 samples, 0.20%)
Text.Parser.Token._styleLetter (1 samples, 0.10%)
Parser.module_ (7 samples, 0.70%)
Text.Parser.Char.text (1 samples, 0.10%)
Parser.spannedTerm (1 samples, 0.10%)
Text.Parsix.Parser.Internal.>>=.\.\ (11 samples, 1.10%)
Parser.spannedTerm (1 samples, 0.10%)
Text.Parsix.Parser.Internal.satisfy.\ (15 samples, 1.50%)
Text.Parser.Char.char (2 samples, 0.20%)
Elaboration.inferName (1 samples, 0.10%)
Parser.reserved (1 samples, 0.10%)
Text.Parser.Combinators.<?>.\ (6 samples, 0.60%)
Parser.spannedTerm (4 samples, 0.40%)
Resolution.importedNames (2 samples, 0.20%)
Parser.spanned (1 samples, 0.10%)
Options.Applicative.Common.runParser.result (848 samples, 84.80%)
Options.Applicative.Common.runParser.result
Text.Parsix.Parser.Internal.satisfy.\ (3 samples, 0.30%)
Text.Parsix.Parser.Internal.satisfy (3 samples, 0.30%)
Query.gcompare (164 samples, 16.40%)
Query.gcompare
Options.Applicative.Common.runParserInfo (848 samples, 84.80%)
Options.Applicative.Common.runParserInfo
Query.Mapped.rule (1 samples, 0.10%)
Options.Applicative.Common.runParserFully (848 samples, 84.80%)
Options.Applicative.Common.runParserFully
Elaboration.Matching.elaborateWithCoverage (1 samples, 0.10%)
Parser.indented (1 samples, 0.10%)
Name.compare (2 samples, 0.20%)
Text.Parser.Combinators.<?>.\ (6 samples, 0.60%)
Text.Parsix.Parser.Internal.runParser (166 samples, 16.60%)
Text.Parsix.Parser.Intern..
Parser.spannedTerm (4 samples, 0.40%)
Parser.symbol (1 samples, 0.10%)
Text.Parsix.Parser.Internal.>>= (166 samples, 16.60%)
Text.Parsix.Parser.Intern..
Parser.prename (2 samples, 0.20%)
Query.Mapped.gcompare (4 samples, 0.40%)
Parser.prename (1 samples, 0.10%)
Rock.Core.fmap (3 samples, 0.30%)
Parser.reserved (1 samples, 0.10%)
Parser.atomicPattern (1 samples, 0.10%)
Data.Dependent.Map.Internal.balance.sizeR (39 samples, 3.90%)
Data..
Rules.rules (1 samples, 0.10%)
Rock.Core.<*> (2 samples, 0.20%)
Main.main (848 samples, 84.80%)
Main.main
Data.Dependent.Map.Internal.size (12 samples, 1.20%)
Text.Parser.Combinators.skipMany (1 samples, 0.10%)
Parser.prename (1 samples, 0.10%)
Parser.idLetter (16 samples, 1.60%)
Parser.reserved (3 samples, 0.30%)
Parser.recoveringIndentedTerm (1 samples, 0.10%)
Elaboration.Matching.elaborateClauses (1 samples, 0.10%)
MAIN.MAIN (849 samples, 84.90%)
MAIN.MAIN
Text.Parsix.Parser.Internal.<|>.\ (1 samples, 0.10%)
Name.compare (1 samples, 0.10%)
Text.Parsix.Position.next (1 samples, 0.10%)
Text.Parser.Combinators.skipMany (2 samples, 0.20%)
Elaboration.inferName (1 samples, 0.10%)
Rules.rules.runElaborator (1 samples, 0.10%)
Data.Dependent.Map.insertLookupWithKey.go (569 samples, 56.90%)
Data.Dependent.Map.insertLookupWithKey.go
Text.Parser.Char.string (5 samples, 0.50%)
Parser.someSpace (9 samples, 0.90%)
Parser.definition (2 samples, 0.20%)
Text.Parsix.Parser.Internal.satisfy (1 samples, 0.10%)
Data.Dependent.Map.insertLookupWithKey.go.found (3 samples, 0.30%)
Text.Parser.Combinators.skipMany (2 samples, 0.20%)
Elaboration.checkTopLevelDefinition (2 samples, 0.20%)
Text.Parsix.Parser.Internal.unexpected (1 samples, 0.10%)
Text.Parsix.Parser.Internal.satisfy (15 samples, 1.50%)
Resolution.moduleScopes.go (1 samples, 0.10%)
Text.Parser.Char.char (5 samples, 0.50%)
Parser.satisfy (16 samples, 1.60%)
Parser.spanned (1 samples, 0.10%)
Text.Parsix.Parser.Internal.fmap (1 samples, 0.10%)
Parser.definition (11 samples, 1.10%)
Text.Parsix.Parser.Internal.satisfy.\ (2 samples, 0.20%)
Parser.prename (1 samples, 0.10%)
Text.Parsix.Parser.Internal.satisfy.\ (1 samples, 0.10%)
Rock.Core.fmap (167 samples, 16.70%)
Rock.Core.fmap
Elaboration.checkUnspanned (1 samples, 0.10%)
Parser.plicitAtomicTerm (10 samples, 1.00%)
Text.Parser.Char.satisfy (16 samples, 1.60%)
Text.Parser.Char.text (1 samples, 0.10%)
Parser.moduleHeader (1 samples, 0.10%)
Rock.Core.runTask (848 samples, 84.80%)
Rock.Core.runTask
Parser.spanned (1 samples, 0.10%)
Data.GADT.Compare.TH.geq' (6 samples, 0.60%)
Parser.recoveringIndentedTerm (1 samples, 0.10%)
Parser.indented (1 samples, 0.10%)
Parser.satisfy (5 samples, 0.50%)
Text.Parsix.Combinators.position (7 samples, 0.70%)
Text.Parser.Token._styleLetter (2 samples, 0.20%)
Text.Parser.Token._styleLetter (1 samples, 0.10%)
Parser.term (1 samples, 0.10%)
Elaboration.check (1 samples, 0.10%)
Parser.spanned (1 samples, 0.10%)
Text.Parser.Combinators.<?> (2 samples, 0.20%)
Parser.satisfy (3 samples, 0.30%)
Text.Parser.Combinators.<?>.\ (1 samples, 0.10%)
Text.Parser.Combinators.unexpected (1 samples, 0.10%)
Data.HashMap.Base.fromList (1 samples, 0.10%)
Parser.module_ (36 samples, 3.60%)
Pars..
Text.Parsix.Parser.Internal.parseText (166 samples, 16.60%)
Text.Parsix.Parser.Intern..
Options.Applicative.Common.evalParser (848 samples, 84.80%)
Options.Applicative.Common.evalParser
Data.Dependent.Map.insertLookupWithKey (572 samples, 57.20%)
Data.Dependent.Map.insertLookupWithKey
Name.compare (2 samples, 0.20%)
Elaboration.inferUnspanned (1 samples, 0.10%)
Elaboration.Matching.splitConstructorOr (1 samples, 0.10%)
Name.compare (17 samples, 1.70%)
Parser.spanned (1 samples, 0.10%)
Parser.atomicTerm (4 samples, 0.40%)
Elaboration.Matching.elaborate (1 samples, 0.10%)
Text.Parsix.Parser.Internal.>>=.\.\ (51 samples, 5.10%)
Text.P..
Rock.Core.<*> (1 samples, 0.10%)
Resolution.moduleScopes.(...) (1 samples, 0.10%)
Text.Parsix.Combinators.position (54 samples, 5.40%)
Text.Pa..
Parser.text (1 samples, 0.10%)
Data.HashMap.Base.fromList.\ (1 samples, 0.10%)
Text.Parser.Char.char (2 samples, 0.20%)
Parser.many (36 samples, 3.60%)
Pars..
Text.Parsix.Parser.Internal.pure (1 samples, 0.10%)
Data.Dependent.Map.insertLookupWithKey.go.(...) (20 samples, 2.00%)
D..
Parser.spannedPattern (1 samples, 0.10%)
Text.Parser.Char.satisfy (5 samples, 0.50%)
Parser.indented (1 samples, 0.10%)
Rules.rules (185 samples, 18.50%)
Rules.rules
Parser.term (19 samples, 1.90%)
P..
Text.Parsix.Parser.Internal.>>=.\.\ (7 samples, 0.70%)
Text.Parsix.Parser.Internal.<|> (1 samples, 0.10%)
Data.GADT.Compare.TH.runGComparing (1 samples, 0.10%)
Text.Parsix.Parser.Internal.satisfy (5 samples, 0.50%)
Text.Parser.Combinators.unexpected (1 samples, 0.10%)
Driver.runTask (848 samples, 84.80%)
Driver.runTask
Text.Parsix.Parser.Internal.<|> (1 samples, 0.10%)
Rock.Core.fmap (6 samples, 0.60%)
Rock.Core.fmap (54 samples, 5.40%)
Rock.Co..
Text.Parser.Char.char (2 samples, 0.20%)
Parser.qidLetter (2 samples, 0.20%)
Text.Parser.Char.satisfy (1 samples, 0.10%)
Driver.runTask.rules (847 samples, 84.70%)
Driver.runTask.rules
Text.Parsix.Parser.Internal.>>=.\.\ (3 samples, 0.30%)
Name.compare (1 samples, 0.10%)
Rock.Core.liftIO (587 samples, 58.70%)
Rock.Core.liftIO
Rock.Core.<*> (166 samples, 16.60%)
Rock.Core.<*>
Parser.spannedTerm (1 samples, 0.10%)
Data.HashMap.Base.lookup# (1 samples, 0.10%)
Rock.Core.liftIO (1 samples, 0.10%)
Options.Applicative.Internal.>>= (848 samples, 84.80%)
Options.Applicative.Internal.>>=
Rock.Core.memoise (844 samples, 84.40%)
Rock.Core.memoise
Rock.Core.fmap (1 samples, 0.10%)
Text.Parsix.Parser.Internal.>>=.\.\ (2 samples, 0.20%)
Scope.compare (6 samples, 0.60%)
Data.GADT.Compare.TH.compare' (12 samples, 1.20%)
Name.compare (1 samples, 0.10%)
Text.Parser.Char.satisfy (16 samples, 1.60%)
Data.GADT.Compare.TH.>>= (1 samples, 0.10%)
Options.Applicative.Internal.>>=.\ (848 samples, 84.80%)
Options.Applicative.Internal.>>=.\
Parser.atomicTerm (8 samples, 0.80%)
Options.Applicative.Internal.runP (848 samples, 84.80%)
Options.Applicative.Internal.runP
Parser.spannedTerm (1 samples, 0.10%)