clash-finite-1.0.0.0: clash-finite.cabal
cabal-version: 2.2
name: clash-finite
version: 1.0.0.0
synopsis: A class for types with only finitely many inhabitants
description: Finite is a class for types with only finitely many inhabitants
and can be considered a more hardware-friendly alternative to
Bounded and Enum, utilizing Index instead of Int and vectors
instead of lists.
homepage: https://github.com/kleinreact/clash-finite
license: MIT
license-file: LICENSE
author: Felix Klein
maintainer: felix@qbaylogic.com
copyright: Copyright © 2024-2025, Felix Klein
category: Hardware
build-type: Simple
extra-doc-files: CHANGELOG.md
source-repository head
type: git
location: https://github.com/kleinreact/clash-finite
flag test
description: You can disable tests via `-f-test`.
default: True
manual: True
flag large-tuples
description: Generate Finite class instances for tuples up to
and including 62 elements
default: False
manual: True
library
default-language: Haskell2010
hs-source-dirs: src
ghc-options: -Wall -Wcompat
if flag(large-tuples)
CPP-Options: -DLARGE_TUPLES
build-depends:
, base >= 4.11 && < 5
, clash-prelude >= 1.8 && < 1.10
, constraints >= 0.9 && < 1.0
, ghc-typelits-extra >= 0.4 && < 0.5
, ghc-typelits-knownnat >= 0.7.2 && < 0.8
, ghc-typelits-natnormalise >= 0.7.2 && < 0.8
, singletons >= 2.0 && < 3.1
, template-haskell >= 2.12.0.0 && < 2.23
exposed-modules:
Clash.Class.Finite
Clash.Class.Finite.Internal
Clash.Class.Finite.Internal.Evidence
Clash.Class.Finite.Internal.TH
test-suite unittests
default-language: Haskell2010
hs-source-dirs: tests
ghc-options: -Wall -Wcompat -threaded
type: exitcode-stdio-1.0
main-is: Main.hs
if !flag(test)
buildable: False
else
build-depends:
, base >= 4.11 && < 5
, clash-prelude >= 1.9 && < 1.10
, clash-finite
, constraints >= 0.9 && < 1.0
, deepseq
, tasty >= 1.2 && < 1.6
, tasty-hunit
other-modules:
Clash.Tests.Laws.Finite