migamake/homplexity

Haskell code complexity and quality measurement

Haskell

62

460 commits

updated Apr 14, 2026

See the code

README

homplexity

The project moved to https://gitlab.com/migamake/homplexity

Aims to assess complexity and quality of Haskell code by measuring relative length of declarations, their depth, and code-to-comment ratio.

For parsing it uses haskell-src-exts, and cppHs.

Cabal builds across GHC versions: Gitlab pipeline status

Hackage Hackage Dependencies

If you just need latest static executable it is always available here.

Official releases are on Hackage

Gitter

USAGE:

After installing with cabal install homplexity, you might run it with filenames or directories with your Haskell source

    homplexity Main.hs src/ 

Patches and suggestions are welcome.

You may run homplexity --help to see options.

For html output, run:

    homplexity --format=HTML Main.hs src/ 

How does it work?

Homplexity is based on the idea of Metrics that are applied to various CodeFragment types extracted automatically from parsed source. Each metric is then assessed whether it crosses any thresholds, and depending on them the severity of the message is chosen.

To see all metric values, set the warning --severity to INFO.

Diagram of concepts Legend of the diagram

code-quality
complexity
hackage
hacktoberfest2019
haskell
quality

Contributors

mgajda

342 commits

dmalkr

95 commits

Anabra

11 commits

0xd34df00d

6 commits

migamake/homplexity

Haskell code complexity and quality measurement

Haskell

62

460 commits

updated Apr 14, 2026

See the code

README

homplexity

The project moved to https://gitlab.com/migamake/homplexity

Aims to assess complexity and quality of Haskell code by measuring relative length of declarations, their depth, and code-to-comment ratio.

For parsing it uses haskell-src-exts, and cppHs.

Cabal builds across GHC versions: Gitlab pipeline status

Hackage Hackage Dependencies

If you just need latest static executable it is always available here.

Official releases are on Hackage

Gitter

USAGE:

After installing with cabal install homplexity, you might run it with filenames or directories with your Haskell source

    homplexity Main.hs src/ 

Patches and suggestions are welcome.

You may run homplexity --help to see options.

For html output, run:

    homplexity --format=HTML Main.hs src/ 

How does it work?

Homplexity is based on the idea of Metrics that are applied to various CodeFragment types extracted automatically from parsed source. Each metric is then assessed whether it crosses any thresholds, and depending on them the severity of the message is chosen.

To see all metric values, set the warning --severity to INFO.

Diagram of concepts Legend of the diagram

code-quality
complexity
hackage
hacktoberfest2019
haskell
quality

Contributors

mgajda

342 commits

dmalkr

95 commits

Anabra

11 commits

0xd34df00d

6 commits

Languages

Haskell

94.6%

Ruby

2.4%

Shell

1.9%

Dockerfile

1.1%