no-recursion-0.4.0.1: docs/license-report.md
**NB**: This captures the licenses associated with a particular set of dependency versions. If your own build solves differently, it’s possible that the licenses may have changed, or even that the set of dependencies itself is different. Please make sure you run [`cabal-plan license-report`](https://hackage.haskell.org/package/cabal-plan) on your own components rather than assuming this is authoritative.
# Dependency License Report
Bold-faced **`package-name`**s denote standard libraries bundled with `ghc-9.10.1`.
## Direct dependencies of `no-recursion:lib:no-recursion`
| Name | Version | [SPDX](https://spdx.org/licenses/) License Id | Description | Also depended upon by |
| --- | --- | --- | --- | --- |
| **`base`** | [`4.20.0.0`](http://hackage.haskell.org/package/base-4.20.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/base-4.20.0.0/src/LICENSE) | Core data structures and operations | *(core library)* |
| **`ghc`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-9.10.1/src/LICENSE) | The GHC API | `ghc-compat-plugin`, `henforcer`, `pollock` |
| `ghc-compat-plugin` | [`0.1.0.1`](http://hackage.haskell.org/package/ghc-compat-plugin-0.1.0.1) | [`AGPL-3.0-only`](http://hackage.haskell.org/package/ghc-compat-plugin-0.1.0.1/src/LICENSE.AGPL-3.0-only) | Eases support for multiple GHC versions | |
| `henforcer` | [`1.0.0.1`](http://hackage.haskell.org/package/henforcer-1.0.0.1) | [`MIT`](http://hackage.haskell.org/package/henforcer-1.0.0.1/src/LICENSE) | GHC plugin to enforce user specified rules on code. | |
## Indirect transitive dependencies
| Name | Version | [SPDX](https://spdx.org/licenses/) License Id | Description | Depended upon by |
| --- | --- | --- | --- | --- |
| `ansi-terminal` | [`1.1.5`](http://hackage.haskell.org/package/ansi-terminal-1.1.5) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ansi-terminal-1.1.5/src/LICENSE) | Simple ANSI terminal support | `prettyprinter-ansi-terminal` |
| `ansi-terminal-types` | [`1.1.3`](http://hackage.haskell.org/package/ansi-terminal-types-1.1.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ansi-terminal-types-1.1.3/src/LICENSE) | Types and functions used to represent SGR aspects | `ansi-terminal` |
| **`array`** | [`0.5.7.0`](http://hackage.haskell.org/package/array-0.5.7.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/array-0.5.7.0/src/LICENSE) | Mutable and immutable arrays | `attoparsec`, `binary`, `containers`, `deepseq`, `ghc`, `ghci`, `integer-logarithms`, `megaparsec`, `stm`, `text` |
| `attoparsec` | [`0.14.4`](http://hackage.haskell.org/package/attoparsec-0.14.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/attoparsec-0.14.4/src/LICENSE) | Fast combinator parsing for bytestrings and text | `pollock` |
| `attoparsec` | [`0.14.4`](http://hackage.haskell.org/package/attoparsec-0.14.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/attoparsec-0.14.4/src/LICENSE) | Fast combinator parsing for bytestrings and text | `attoparsec` |
| **`binary`** | [`0.8.9.2`](http://hackage.haskell.org/package/binary-0.8.9.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/binary-0.8.9.2/src/LICENSE) | Binary serialisation for Haskell values using lazy ByteStrings | `ghc`, `ghc-boot`, `ghci`, `scientific`, `text` |
| **`bytestring`** | [`0.12.1.0`](http://hackage.haskell.org/package/bytestring-0.12.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/bytestring-0.12.1.0/src/LICENSE) | Fast, compact, strict and lazy byte strings with a list interface | `attoparsec`, `binary`, `case-insensitive`, `filepath`, `ghc`, `ghc-boot`, `ghci`, `hashable`, `megaparsec`, `os-string`, `scientific`, `text`, `tomland`, `unix` |
| `case-insensitive` | [`1.2.1.0`](http://hackage.haskell.org/package/case-insensitive-1.2.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/case-insensitive-1.2.1.0/src/LICENSE) | Case insensitive string comparison | `megaparsec` |
| `clock` | [`0.8.4`](http://hackage.haskell.org/package/clock-0.8.4) | [`BSD-3-Clause`](http://hackage.haskell.org/package/clock-0.8.4/src/LICENSE) | High-resolution clock functions: monotonic, realtime, cputime. | `extra` |
| `colour` | [`2.3.7`](http://hackage.haskell.org/package/colour-2.3.7) | [`MIT`](http://hackage.haskell.org/package/colour-2.3.7/src/LICENSE) | A model for human colour/color perception | `ansi-terminal`, `ansi-terminal-types` |
| **`containers`** | [`0.7`](http://hackage.haskell.org/package/containers-0.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/containers-0.7/src/LICENSE) | Assorted concrete container types | `attoparsec`, `binary`, `ghc`, `ghc-boot`, `ghc-heap`, `ghci`, `hashable`, `henforcer`, `hpc`, `megaparsec`, `pollock`, `scientific`, `tomland` |
| **`deepseq`** | [`1.5.0.0`](http://hackage.haskell.org/package/deepseq-1.5.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/deepseq-1.5.0.0/src/LICENSE) | Deep evaluation of data structures | `attoparsec`, `bytestring`, `case-insensitive`, `containers`, `dlist`, `filepath`, `ghc`, `ghc-boot`, `ghci`, `hashable`, `hpc`, `megaparsec`, `os-string`, `pretty`, `primitive`, `process`, `scientific`, `text`, `time`, `tomland`, `unordered-containers`, `validation-selective` |
| **`directory`** | [`1.3.8.3`](http://hackage.haskell.org/package/directory-1.3.8.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/directory-1.3.8.3/src/LICENSE) | Platform-agnostic library for filesystem operations | `extra`, `filepattern`, `ghc`, `ghc-boot`, `hpc`, `process` |
| `dlist` | [`1.0`](http://hackage.haskell.org/package/dlist-1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/dlist-1.0/src/license.md) | Difference lists | `henforcer` |
| **`exceptions`** | [`0.10.7`](http://hackage.haskell.org/package/exceptions-0.10.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/exceptions-0.10.7/src/LICENSE) | Extensible optionally-pure exceptions | `filepath`, `ghc`, `os-string`, `semaphore-compat` |
| `extra` | [`1.8.1`](http://hackage.haskell.org/package/extra-1.8.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/extra-1.8.1/src/LICENSE) | Extra functions I use. | `filepattern` |
| **`filepath`** | [`1.5.2.0`](http://hackage.haskell.org/package/filepath-1.5.2.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/filepath-1.5.2.0/src/LICENSE) | Library for manipulating FilePaths in a cross platform way. | `directory`, `extra`, `filepattern`, `ghc`, `ghc-boot`, `ghci`, `hashable`, `hpc`, `process`, `unix` |
| `filepattern` | [`0.1.3`](http://hackage.haskell.org/package/filepattern-0.1.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/filepattern-0.1.3/src/LICENSE) | File path glob-like matching | `henforcer` |
| **`ghc-bignum`** | [`1.3`](http://hackage.haskell.org/package/ghc-bignum-1.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-bignum-1.3/src/LICENSE) | GHC BigNum library | `ghc-internal` |
| **`ghc-boot`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-boot-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-boot-9.10.1/src/LICENSE) | Shared functionality between GHC and its boot libraries | `ghc`, `ghci` |
| **`ghc-boot-th`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-boot-th-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-boot-th-9.10.1/src/LICENSE) | Shared functionality between GHC and the @template-haskell@ library | `ghc-boot`, `ghc-compat-plugin`, `template-haskell` |
| **`ghc-heap`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-heap-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-heap-9.10.1/src/LICENSE) | Functions for walking GHC's heap | `ghc`, `ghci` |
| **`ghc-internal`** | [`9.1001.0`](http://hackage.haskell.org/package/ghc-internal-9.1001.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-internal-9.1001.0/src/LICENSE) | Basic libraries | `base`, `ghc-heap` |
| **`ghc-platform`** | [`0.1.0.0`](http://hackage.haskell.org/package/ghc-platform-0.1.0.0) | *MISSING* | *MISSING* | `ghc-boot` |
| **`ghc-prim`** | [`0.11.0`](http://hackage.haskell.org/package/ghc-prim-0.11.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-prim-0.11.0/src/LICENSE) | GHC primitives | *(core library)* |
| **`ghci`** | [`9.10.1`](http://hackage.haskell.org/package/ghci-9.10.1) | *MISSING* | *MISSING* | `ghc` |
| `hashable` | [`1.5.1.0`](http://hackage.haskell.org/package/hashable-1.5.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/hashable-1.5.1.0/src/LICENSE) | A class for types that can be converted to a hash value | `case-insensitive`, `scientific`, `tomland`, `unordered-containers` |
| `henforcer` | [`1.0.0.1`](http://hackage.haskell.org/package/henforcer-1.0.0.1) | [`MIT`](http://hackage.haskell.org/package/henforcer-1.0.0.1/src/LICENSE) | GHC plugin to enforce user specified rules on code. | `henforcer` |
| **`hpc`** | [`0.7.0.1`](http://hackage.haskell.org/package/hpc-0.7.0.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/hpc-0.7.0.1/src/LICENSE) | Code Coverage Library for Haskell | `ghc` |
| `integer-logarithms` | [`1.0.5`](http://hackage.haskell.org/package/integer-logarithms-1.0.5) | [`MIT`](http://hackage.haskell.org/package/integer-logarithms-1.0.5/src/LICENSE) | Integer logarithms. | `scientific` |
| `megaparsec` | [`9.8.1`](http://hackage.haskell.org/package/megaparsec-9.8.1) | [`BSD-2-Clause`](http://hackage.haskell.org/package/megaparsec-9.8.1/src/LICENSE.md) | Monadic parser combinators | `tomland` |
| **`mtl`** | [`2.3.1`](http://hackage.haskell.org/package/mtl-2.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/mtl-2.3.1/src/LICENSE) | Monad classes for transformers, using functional dependencies | `exceptions`, `megaparsec`, `tomland` |
| `optparse-applicative` | [`0.19.0.0`](http://hackage.haskell.org/package/optparse-applicative-0.19.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/optparse-applicative-0.19.0.0/src/LICENSE) | Utilities and combinators for parsing command line options | `henforcer` |
| **`os-string`** | [`2.0.2`](http://hackage.haskell.org/package/os-string-2.0.2) | [`BSD-3-Clause`](http://hackage.haskell.org/package/os-string-2.0.2/src/LICENSE) | Library for manipulating Operating system strings. | `directory`, `filepath`, `hashable`, `unix` |
| `parser-combinators` | [`1.3.1`](http://hackage.haskell.org/package/parser-combinators-1.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/parser-combinators-1.3.1/src/LICENSE.md) | Lightweight package providing commonly useful parser combinators | `megaparsec`, `tomland` |
| `pollock` | [`0.1.0.4`](http://hackage.haskell.org/package/pollock-0.1.0.4) | [`MIT`](http://hackage.haskell.org/package/pollock-0.1.0.4/src/LICENSE) | Functionality to help examine Haddock information of a module. | `henforcer` |
| **`pretty`** | [`1.1.3.6`](http://hackage.haskell.org/package/pretty-1.1.3.6) | [`BSD-3-Clause`](http://hackage.haskell.org/package/pretty-1.1.3.6/src/LICENSE) | Pretty-printing library | `template-haskell` |
| `prettyprinter` | [`1.7.2`](http://hackage.haskell.org/package/prettyprinter-1.7.2) | [`BSD-2-Clause`](http://hackage.haskell.org/package/prettyprinter-1.7.2/src/LICENSE.md) | A modern, easy to use, well-documented, extensible pretty-printer. | `optparse-applicative`, `prettyprinter-ansi-terminal` |
| `prettyprinter-ansi-terminal` | [`1.1.4`](http://hackage.haskell.org/package/prettyprinter-ansi-terminal-1.1.4) | [`BSD-2-Clause`](http://hackage.haskell.org/package/prettyprinter-ansi-terminal-1.1.4/src/LICENSE.md) | ANSI terminal backend for the »prettyprinter« package. | `optparse-applicative` |
| `primitive` | [`0.9.1.0`](http://hackage.haskell.org/package/primitive-0.9.1.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/primitive-0.9.1.0/src/LICENSE) | Primitive memory-related operations | `scientific` |
| **`process`** | [`1.6.19.0`](http://hackage.haskell.org/package/process-1.6.19.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/process-1.6.19.0/src/LICENSE) | Process libraries | `extra`, `ghc`, `optparse-applicative` |
| `scientific` | [`0.3.8.1`](http://hackage.haskell.org/package/scientific-0.3.8.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/scientific-0.3.8.1/src/LICENSE) | Numbers represented using scientific notation | `attoparsec`, `megaparsec` |
| `selective` | [`0.7.0.1`](http://hackage.haskell.org/package/selective-0.7.0.1) | [`MIT`](http://hackage.haskell.org/package/selective-0.7.0.1/src/LICENSE) | Selective applicative functors | `validation-selective` |
| **`semaphore-compat`** | [`1.0.0`](http://hackage.haskell.org/package/semaphore-compat-1.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/semaphore-compat-1.0.0) | Cross-platform abstraction for system semaphores | `ghc` |
| **`stm`** | [`2.5.3.1`](http://hackage.haskell.org/package/stm-2.5.3.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/stm-2.5.3.1/src/LICENSE) | Software Transactional Memory | `exceptions`, `ghc` |
| **`template-haskell`** | [`2.22.0.0`](http://hackage.haskell.org/package/template-haskell-2.22.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/template-haskell-2.22.0.0/src/LICENSE) | Support library for Template Haskell | `bytestring`, `containers`, `exceptions`, `filepath`, `ghc`, `ghci`, `os-string`, `primitive`, `scientific`, `text`, `unordered-containers` |
| **`text`** | [`2.1.1`](http://hackage.haskell.org/package/text-2.1.1) | [`BSD-2-Clause`](http://hackage.haskell.org/package/text-2.1.1/src/LICENSE) | An efficient packed Unicode text type. | `attoparsec`, `case-insensitive`, `hashable`, `henforcer`, `megaparsec`, `optparse-applicative`, `pollock`, `prettyprinter`, `prettyprinter-ansi-terminal`, `scientific`, `tomland` |
| **`time`** | [`1.12.2`](http://hackage.haskell.org/package/time-1.12.2) | [`BSD-2-Clause`](http://hackage.haskell.org/package/time-1.12.2/src/LICENSE) | A time library | `directory`, `extra`, `ghc`, `hpc`, `tomland`, `unix` |
| `tomland` | [`1.3.3.3`](http://hackage.haskell.org/package/tomland-1.3.3.3) | [`MPL-2.0`](http://hackage.haskell.org/package/tomland-1.3.3.3/src/LICENSE) | Bidirectional TOML serialization | `henforcer` |
| **`transformers`** | [`0.6.1.1`](http://hackage.haskell.org/package/transformers-0.6.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-0.6.1.1/src/LICENSE) | Concrete functor and monad transformers | `attoparsec`, `exceptions`, `ghc`, `ghci`, `megaparsec`, `mtl`, `optparse-applicative`, `primitive`, `selective` |
| **`unix`** | [`2.8.5.1`](http://hackage.haskell.org/package/unix-2.8.5.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unix-2.8.5.1/src/LICENSE) | POSIX functionality | `directory`, `extra`, `ghc`, `ghc-boot`, `ghci`, `process`, `semaphore-compat` |
| `unordered-containers` | [`0.2.21`](http://hackage.haskell.org/package/unordered-containers-0.2.21) | [`BSD-3-Clause`](http://hackage.haskell.org/package/unordered-containers-0.2.21/src/LICENSE) | Efficient hashing-based container types | `tomland` |
| `validation-selective` | [`0.2.0.0`](http://hackage.haskell.org/package/validation-selective-0.2.0.0) | [`MPL-2.0`](http://hackage.haskell.org/package/validation-selective-0.2.0.0/src/LICENSE) | Lighweight pure data validation based on Applicative and Selective functors | `tomland` |