Skip to content
Profiling for Haskell programs without recompiling, via fused-effects.
Haskell Shell
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/Control Rename Profile.Time to Profile.Tree. Jan 8, 2020
.ghci.repl Don’t warn about defaulting in ghci. Jan 6, 2020
LICENSE Add a README. Jan 6, 2020
cabal.project Add a cabal.project file. Jan 6, 2020


This is a Haskell package providing a fused-effects effect for profiling your programs.

Screen Shot 2020-01-05 at 10 54 22 PM

This isn’t a replacement for GHC’s profiling; but rather, it allows you to enable and disable profiling in a program without recompiling it or its dependencies. (In the above screenshot, the --profile flag controls whether or not profiling is run.) Like SCC pragmas, it also involves marking up portions of the program with measure blocks, allowing you to indicate precisely the portions you want to measure.

It can also be enabled or disabled in different parts of a program separately, and a custom algebra could even allow it to be toggled on the fly in a running process.

You can’t perform that action at this time.