Cabal revisions of clash-prelude-1.8.4
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Cabal-version: 2.2-Name: clash-prelude-Version: 1.8.4-Synopsis: Clash: a functional hardware description language - Prelude library-Description:- Clash is a functional hardware description language that borrows both its- syntax and semantics from the functional programming language Haskell. The- Clash compiler transforms these high-level descriptions to low-level- synthesizable VHDL, Verilog, or SystemVerilog.- .- Features of Clash:- .- * Strongly typed, but with a very high degree of type inference, enabling both- safe and fast prototyping using concise descriptions.- .- * Interactive REPL: load your designs in an interpreter and easily test all- your component without needing to setup a test bench.- .- * Higher-order functions, with type inference, result in designs that are- fully parametric by default.- .- * Synchronous sequential circuit design based on streams of values, called- @Signal@s, lead to natural descriptions of feedback loops.- .- * Support for multiple clock domains, with type safe clock domain crossing.- .- .- This package provides:- .- * Prelude library containing datatypes and functions for circuit design- .- To use the library:- .- * Import "Clash.Prelude"- .- * Alternatively, if you want to explicitly route clock and reset ports,- for more straightforward multi-clock designs, you can import the- "Clash.Explicit.Prelude" module. Note that you should not import- "Clash.Prelude" and "Clash.Explicit.Prelude" at the same time as they- have overlapping definitions.- .- A preliminary version of a tutorial can be found in "Clash.Tutorial", for a- general overview of the library you should however check out "Clash.Prelude".- Some circuit examples can be found in "Clash.Examples".-Homepage: https://clash-lang.org/-bug-reports: https://github.com/clash-lang/clash-compiler/issues-License: BSD-2-Clause-License-file: LICENSE-Author: The Clash Authors-Maintainer: QBayLogic B.V. <devops@qbaylogic.com>-Copyright: Copyright © 2013-2016, University of Twente,- 2016-2017, Myrtle Software Ltd,- 2017-2019, QBayLogic B.V., Google Inc.,- 2021-2025, QBayLogic B.V.-Category: Hardware-Build-type: Simple--Extra-source-files: README.md- CHANGELOG.md- AUTHORS.md--extra-doc-files: doc/*.svg--source-repository head- type: git- location: https://github.com/clash-lang/clash-compiler.git- subdir: clash-prelude--flag large-tuples- description:- Generate instances for classes such as `NFDataX` and `BitPack` for tuples- up to and including 62 elements - the GHC imposed maximum. Note that this- greatly increases compile times for `clash-prelude`.- default: False- manual: True--flag super-strict- description:- Use `deepseqX` (instead of `seqX`) in register-like constructs. This can- help to eliminate space leaks when using lazy data structures in- registers-like constructs. This potentially slows down Clash hardware- simulation.- default: False- manual: True--flag strict-mapSignal- description:- Use `seqX` in 'mapSignal#'. This can help to eliminate space leaks in long- running simulations.- default: False- manual: True--flag multiple-hidden- description:- Allow multiple hidden clocks, resets, and enables to be used. This is an- experimental feature, possibly triggering confusing error messages. By- default, it is enabled on development versions of Clash and disabled on- releases.- default: False- manual: True--flag doctests- description:- You can disable testing with doctests using `-f-doctests`.- default: True- manual: True--flag unittests- description:- You can disable testing with unittests using `-f-unittests`.- default: True- manual: True--flag benchmarks- description:- You can disable testing with benchmarks using `-f-benchmarks`.- default: True- manual: True--flag workaround-ghc-mmap-crash- description:- Only use this flag when hit by GHC bug #19421. See clash-compiler PR #2444.- default: False- manual: True--common common-options- default-language: Haskell2010- default-extensions: BangPatterns- BinaryLiterals- DataKinds- DefaultSignatures- DeriveDataTypeable- DeriveFoldable- DeriveFunctor- DeriveGeneric- DeriveLift- DeriveTraversable- DerivingStrategies- InstanceSigs- KindSignatures- MagicHash- NoStarIsType- PostfixOperators- ScopedTypeVariables- StandaloneDeriving- TupleSections- TypeApplications- TypeOperators- ViewPatterns--Library- import: common-options- HS-Source-Dirs: src-- ghc-options: -Wall -Wcompat -fexpose-all-unfoldings -fno-worker-wrapper- CPP-Options: -DCABAL-- -- See https://github.com/clash-lang/clash-compiler/pull/2511- if impl(ghc >= 9.4)- CPP-Options: -DCLASH_OPAQUE=OPAQUE- else- CPP-Options: -DCLASH_OPAQUE=NOINLINE-- if flag(large-tuples)- CPP-Options: -DLARGE_TUPLES-- if flag(super-strict)- CPP-Options: -DCLASH_SUPER_STRICT-- if flag(strict-mapSignal)- CPP-Options: -DCLASH_STRICT_MAPSIGNAL-- if flag(multiple-hidden)- CPP-Options: -DCLASH_MULTIPLE_HIDDEN-- if flag(multiple-hidden)- Exposed-modules: Clash.Prelude.Synchronizer-- Autogen-Modules: Paths_clash_prelude-- Exposed-modules: Clash.Annotations.TopEntity- Clash.Annotations.Primitive- Clash.Annotations.BitRepresentation- Clash.Annotations.BitRepresentation.Deriving- Clash.Annotations.BitRepresentation.Internal- Clash.Annotations.BitRepresentation.Util- Clash.Annotations.SynthesisAttributes- Clash.Annotations.TH-- Clash.Class.AutoReg- Clash.Class.AutoReg.Internal- Clash.Class.BitPack- Clash.Class.BitPack.BitIndex- Clash.Class.BitPack.BitReduction- Clash.Class.BitPack.Internal- Clash.Class.BitPack.Internal.TH- Clash.Class.Counter- Clash.Class.Counter.Internal- Clash.Class.Counter.TH- Clash.Class.Exp- Clash.Class.HasDomain- Clash.Class.HasDomain.HasSingleDomain- Clash.Class.HasDomain.HasSpecificDomain- Clash.Class.HasDomain.CodeGen- Clash.Class.HasDomain.Common- Clash.Class.Num- Clash.Class.Parity- Clash.Class.Resize-- Clash.Clocks-- Clash.Explicit.BlockRam- Clash.Explicit.BlockRam.Blob- Clash.Explicit.BlockRam.File- Clash.Explicit.BlockRam.Internal- Clash.Explicit.BlockRam.Model- Clash.Explicit.DDR- Clash.Explicit.Mealy- Clash.Explicit.Moore- Clash.Explicit.RAM- Clash.Explicit.ROM- Clash.Explicit.ROM.Blob- Clash.Explicit.ROM.File- Clash.Explicit.Prelude- Clash.Explicit.Prelude.Safe- Clash.Explicit.Reset- Clash.Explicit.SimIO- Clash.Explicit.Signal- Clash.Explicit.Signal.Delayed- Clash.Explicit.Synchronizer- Clash.Explicit.Testbench- Clash.Explicit.Verification-- Clash.HaskellPrelude-- Clash.Hidden-- Clash.Intel.ClockGen- Clash.Intel.DDR-- Clash.Magic-- Clash.Num.Erroring- Clash.Num.Overflowing- Clash.Num.Saturating- Clash.Num.Wrapping- Clash.Num.Zeroing-- Clash.NamedTypes-- Clash.Prelude- Clash.Prelude.BlockRam- Clash.Prelude.BlockRam.Blob- Clash.Prelude.BlockRam.File- Clash.Prelude.DataFlow- Clash.Prelude.Mealy- Clash.Prelude.Moore- Clash.Prelude.RAM- Clash.Prelude.ROM- Clash.Prelude.ROM.Blob- Clash.Prelude.ROM.File- Clash.Prelude.Safe- Clash.Prelude.Testbench-- Clash.Promoted.Nat- Clash.Promoted.Nat.Literals- Clash.Promoted.Nat.TH- Clash.Promoted.Nat.Unsafe- Clash.Promoted.Symbol-- Clash.Signal- Clash.Signal.Bundle- Clash.Signal.BiSignal- Clash.Signal.Delayed- Clash.Signal.Delayed.Internal- Clash.Signal.Delayed.Bundle- Clash.Signal.Internal- Clash.Signal.Internal.Ambiguous- Clash.Signal.Trace-- Clash.Sized.BitVector- Clash.Sized.Fixed- Clash.Sized.Index- Clash.Sized.RTree- Clash.Sized.Signed- Clash.Sized.Unsigned- Clash.Sized.Vector- Clash.Sized.Vector.ToTuple- Clash.Sized.Vector.ToTuple.TH-- Clash.Sized.Internal.BitVector- Clash.Sized.Internal.Index- Clash.Sized.Internal.Mod- Clash.Sized.Internal.Signed- Clash.Sized.Internal.Unsigned-- Clash.Verification- Clash.Verification.DSL- Clash.Verification.Internal-- Clash.XException- Clash.XException.Internal- Clash.XException.MaybeX- Clash.XException.TH-- Clash.Xilinx.ClockGen- Clash.Xilinx.DDR-- Clash.Tutorial- Clash.Examples- Clash.Examples.Internal-- other-modules:- Clash.Class.AutoReg.Instances- Clash.Clocks.Internal- Clash.CPP- Clash.Signal.Bundle.Internal- Clash.Sized.Internal- Language.Haskell.TH.Compat- Paths_clash_prelude-- other-extensions: CPP- ConstraintKinds- FlexibleContexts- FlexibleInstances- GADTs- GeneralizedNewtypeDeriving- MultiParamTypeClasses- PatternSynonyms- RankNTypes- TemplateHaskell- TypeFamilies- UndecidableInstances-- Build-depends: array >= 0.5.1.0 && < 0.6,- arrows >= 0.4 && < 0.5,- base >= 4.11 && < 5,- binary >= 0.8.5 && < 0.11,- bytestring >= 0.10.8 && < 0.13,- constraints >= 0.9 && < 1.0,- containers >= 0.4.0 && < 0.8,- data-binary-ieee754 >= 0.4.4 && < 0.6,- data-default-class >= 0.1.2 && < 0.3,- deepseq >= 1.4.1.0 && < 1.6,- extra >= 1.6.17 && < 1.9,- ghc-prim >= 0.5.1.0 && < 0.13,- ghc-typelits-extra >= 0.4 && < 0.5,- ghc-typelits-knownnat >= 0.7.2 && < 0.8,- ghc-typelits-natnormalise >= 0.7.2 && < 0.8,- hashable >= 1.2.1.0 && < 1.6,- half >= 0.2.2.3 && < 1.0,- infinite-list ^>= 0.1,- lens >= 4.10 && < 5.4,- QuickCheck >= 2.7 && < 2.16,- recursion-schemes >= 5.1 && < 5.3,- reflection >= 2 && < 2.2,- singletons >= 2.0 && < 3.1,- string-interpolate ^>= 0.3,- tagged >= 0.8 && < 0.9,- template-haskell >= 2.12.0.0 && < 2.23,- th-abstraction >= 0.2.10 && < 0.8.0,- th-lift >= 0.7.0 && < 0.9,- th-orphans >= 0.13.1 && < 1.0,- text >= 0.11.3.1 && < 2.2,- time >= 1.8 && < 1.15,- transformers >= 0.5.2.0 && < 0.7,- type-errors >= 0.2.0.0 && < 0.3,- uniplate >= 1.6.12 && < 1.7,- vector >= 0.11 && < 1.0,- mtl >= 2.0 && < 3.0-- if impl(ghc >= 9.0.0)- Build-Depends: ghc-bignum >= 1.0 && < 1.4- else- Build-Depends: integer-gmp >= 1.0.1.0 && < 2.0- if flag(large-tuples)- Build-Depends: ghc--test-suite doctests- type: exitcode-stdio-1.0- default-language: Haskell2010- main-is: doctests.hs- ghc-options: -Wall -Wcompat -threaded- hs-source-dirs: tests-- if !flag(doctests)- buildable: False- else- build-depends:- base,- clash-prelude,- doctest-parallel >= 0.2 && < 0.4,- filepath-- if arch(x86_64) && flag(workaround-ghc-mmap-crash)- ghc-options: -with-rtsopts=-xm20000000---test-suite unittests- import: common-options- type: exitcode-stdio-1.0- main-is: unittests.hs- ghc-options: -Wall -Wcompat -threaded- -- Note that multiple -with-rtsopts are not cumulative- if arch(x86_64) && flag(workaround-ghc-mmap-crash)- ghc-options: "-with-rtsopts=-N -xm20000000"- else- ghc-options: -with-rtsopts=-N-- hs-source-dirs: tests-- if !flag(unittests)- buildable: False- else- build-depends:- clash-prelude,-- ghc-typelits-knownnat,- ghc-typelits-natnormalise,- ghc-typelits-extra,-- base,- bytestring,- deepseq,- hedgehog >= 1.0.3 && < 1.6,- hint >= 0.7 && < 0.10,- quickcheck-classes-base >= 0.6 && < 1.0,- tasty >= 1.2 && < 1.6,- tasty-hedgehog >= 1.2.0,- tasty-hunit,- tasty-th,- tasty-quickcheck,- template-haskell-- Other-Modules:- Clash.Tests.AsyncFIFOSynchronizer- Clash.Tests.AutoReg- Clash.Tests.BitPack- Clash.Tests.BitVector- Clash.Tests.BlockRam- Clash.Tests.BlockRam.Blob- Clash.Tests.Clocks- Clash.Tests.Counter- Clash.Tests.DerivingDataRepr- Clash.Tests.DerivingDataReprTypes- Clash.Tests.Fixed- Clash.Tests.FixedExhaustive- Clash.Tests.MaybeX- Clash.Tests.NFDataX- Clash.Tests.NumNewtypes- Clash.Tests.Ram- Clash.Tests.Reset- Clash.Tests.Resize- Clash.Tests.Signal- Clash.Tests.Signed- Clash.Tests.SizedNum- Clash.Tests.TopEntityGeneration- Clash.Tests.Unsigned- Clash.Tests.Vector- Clash.Tests.XException-- Clash.Tests.Laws.Enum- Clash.Tests.Laws.SaturatingNum-- Hedgehog.Extra-- Test.Tasty.HUnit.Extra- Test.Tasty.Hedgehog.Extra- Test.QuickCheck.Extra--benchmark benchmark-clash-prelude- type: exitcode-stdio-1.0- default-language: Haskell2010- main-is: benchmark-main.hs- ghc-options: -O2 -Wall- hs-source-dirs: benchmarks-- ghc-options: -with-rtsopts=-T-- if !flag(benchmarks)- buildable: False- else- build-depends:- base,- clash-prelude,- criterion >= 1.3.0.0 && < 1.7,- directory,- deepseq,- template-haskell-- Other-Modules: BenchBitVector- BenchCommon- BenchFixed- BenchRAM- BenchSigned- BenchUnsigned- BenchVector+Cabal-version: 2.2 +Name: clash-prelude +Version: 1.8.4 +x-revision: 1 +Synopsis: Clash: a functional hardware description language - Prelude library +Description: + Clash is a functional hardware description language that borrows both its + syntax and semantics from the functional programming language Haskell. The + Clash compiler transforms these high-level descriptions to low-level + synthesizable VHDL, Verilog, or SystemVerilog. + . + Features of Clash: + . + * Strongly typed, but with a very high degree of type inference, enabling both + safe and fast prototyping using concise descriptions. + . + * Interactive REPL: load your designs in an interpreter and easily test all + your component without needing to setup a test bench. + . + * Higher-order functions, with type inference, result in designs that are + fully parametric by default. + . + * Synchronous sequential circuit design based on streams of values, called + @Signal@s, lead to natural descriptions of feedback loops. + . + * Support for multiple clock domains, with type safe clock domain crossing. + . + . + This package provides: + . + * Prelude library containing datatypes and functions for circuit design + . + To use the library: + . + * Import "Clash.Prelude" + . + * Alternatively, if you want to explicitly route clock and reset ports, + for more straightforward multi-clock designs, you can import the + "Clash.Explicit.Prelude" module. Note that you should not import + "Clash.Prelude" and "Clash.Explicit.Prelude" at the same time as they + have overlapping definitions. + . + A preliminary version of a tutorial can be found in "Clash.Tutorial", for a + general overview of the library you should however check out "Clash.Prelude". + Some circuit examples can be found in "Clash.Examples". +Homepage: https://clash-lang.org/ +bug-reports: https://github.com/clash-lang/clash-compiler/issues +License: BSD-2-Clause +License-file: LICENSE +Author: The Clash Authors +Maintainer: QBayLogic B.V. <devops@qbaylogic.com> +Copyright: Copyright © 2013-2016, University of Twente, + 2016-2017, Myrtle Software Ltd, + 2017-2019, QBayLogic B.V., Google Inc., + 2021-2025, QBayLogic B.V. +Category: Hardware +Build-type: Simple + +Extra-source-files: README.md + CHANGELOG.md + AUTHORS.md + +extra-doc-files: doc/*.svg + +source-repository head + type: git + location: https://github.com/clash-lang/clash-compiler.git + subdir: clash-prelude + +flag large-tuples + description: + Generate instances for classes such as `NFDataX` and `BitPack` for tuples + up to and including 62 elements - the GHC imposed maximum. Note that this + greatly increases compile times for `clash-prelude`. + default: False + manual: True + +flag super-strict + description: + Use `deepseqX` (instead of `seqX`) in register-like constructs. This can + help to eliminate space leaks when using lazy data structures in + registers-like constructs. This potentially slows down Clash hardware + simulation. + default: False + manual: True + +flag strict-mapSignal + description: + Use `seqX` in 'mapSignal#'. This can help to eliminate space leaks in long + running simulations. + default: False + manual: True + +flag multiple-hidden + description: + Allow multiple hidden clocks, resets, and enables to be used. This is an + experimental feature, possibly triggering confusing error messages. By + default, it is enabled on development versions of Clash and disabled on + releases. + default: False + manual: True + +flag doctests + description: + You can disable testing with doctests using `-f-doctests`. + default: True + manual: True + +flag unittests + description: + You can disable testing with unittests using `-f-unittests`. + default: True + manual: True + +flag benchmarks + description: + You can disable testing with benchmarks using `-f-benchmarks`. + default: True + manual: True + +flag workaround-ghc-mmap-crash + description: + Only use this flag when hit by GHC bug #19421. See clash-compiler PR #2444. + default: False + manual: True + +common common-options + default-language: Haskell2010 + default-extensions: BangPatterns + BinaryLiterals + DataKinds + DefaultSignatures + DeriveDataTypeable + DeriveFoldable + DeriveFunctor + DeriveGeneric + DeriveLift + DeriveTraversable + DerivingStrategies + InstanceSigs + KindSignatures + MagicHash + NoStarIsType + PostfixOperators + ScopedTypeVariables + StandaloneDeriving + TupleSections + TypeApplications + TypeOperators + ViewPatterns + +Library + import: common-options + HS-Source-Dirs: src + + ghc-options: -Wall -Wcompat -fexpose-all-unfoldings -fno-worker-wrapper + CPP-Options: -DCABAL + + -- See https://github.com/clash-lang/clash-compiler/pull/2511 + if impl(ghc >= 9.4) + CPP-Options: -DCLASH_OPAQUE=OPAQUE + else + CPP-Options: -DCLASH_OPAQUE=NOINLINE + + if flag(large-tuples) + CPP-Options: -DLARGE_TUPLES + + if flag(super-strict) + CPP-Options: -DCLASH_SUPER_STRICT + + if flag(strict-mapSignal) + CPP-Options: -DCLASH_STRICT_MAPSIGNAL + + if flag(multiple-hidden) + CPP-Options: -DCLASH_MULTIPLE_HIDDEN + + if flag(multiple-hidden) + Exposed-modules: Clash.Prelude.Synchronizer + + Autogen-Modules: Paths_clash_prelude + + Exposed-modules: Clash.Annotations.TopEntity + Clash.Annotations.Primitive + Clash.Annotations.BitRepresentation + Clash.Annotations.BitRepresentation.Deriving + Clash.Annotations.BitRepresentation.Internal + Clash.Annotations.BitRepresentation.Util + Clash.Annotations.SynthesisAttributes + Clash.Annotations.TH + + Clash.Class.AutoReg + Clash.Class.AutoReg.Internal + Clash.Class.BitPack + Clash.Class.BitPack.BitIndex + Clash.Class.BitPack.BitReduction + Clash.Class.BitPack.Internal + Clash.Class.BitPack.Internal.TH + Clash.Class.Counter + Clash.Class.Counter.Internal + Clash.Class.Counter.TH + Clash.Class.Exp + Clash.Class.HasDomain + Clash.Class.HasDomain.HasSingleDomain + Clash.Class.HasDomain.HasSpecificDomain + Clash.Class.HasDomain.CodeGen + Clash.Class.HasDomain.Common + Clash.Class.Num + Clash.Class.Parity + Clash.Class.Resize + + Clash.Clocks + + Clash.Explicit.BlockRam + Clash.Explicit.BlockRam.Blob + Clash.Explicit.BlockRam.File + Clash.Explicit.BlockRam.Internal + Clash.Explicit.BlockRam.Model + Clash.Explicit.DDR + Clash.Explicit.Mealy + Clash.Explicit.Moore + Clash.Explicit.RAM + Clash.Explicit.ROM + Clash.Explicit.ROM.Blob + Clash.Explicit.ROM.File + Clash.Explicit.Prelude + Clash.Explicit.Prelude.Safe + Clash.Explicit.Reset + Clash.Explicit.SimIO + Clash.Explicit.Signal + Clash.Explicit.Signal.Delayed + Clash.Explicit.Synchronizer + Clash.Explicit.Testbench + Clash.Explicit.Verification + + Clash.HaskellPrelude + + Clash.Hidden + + Clash.Intel.ClockGen + Clash.Intel.DDR + + Clash.Magic + + Clash.Num.Erroring + Clash.Num.Overflowing + Clash.Num.Saturating + Clash.Num.Wrapping + Clash.Num.Zeroing + + Clash.NamedTypes + + Clash.Prelude + Clash.Prelude.BlockRam + Clash.Prelude.BlockRam.Blob + Clash.Prelude.BlockRam.File + Clash.Prelude.DataFlow + Clash.Prelude.Mealy + Clash.Prelude.Moore + Clash.Prelude.RAM + Clash.Prelude.ROM + Clash.Prelude.ROM.Blob + Clash.Prelude.ROM.File + Clash.Prelude.Safe + Clash.Prelude.Testbench + + Clash.Promoted.Nat + Clash.Promoted.Nat.Literals + Clash.Promoted.Nat.TH + Clash.Promoted.Nat.Unsafe + Clash.Promoted.Symbol + + Clash.Signal + Clash.Signal.Bundle + Clash.Signal.BiSignal + Clash.Signal.Delayed + Clash.Signal.Delayed.Internal + Clash.Signal.Delayed.Bundle + Clash.Signal.Internal + Clash.Signal.Internal.Ambiguous + Clash.Signal.Trace + + Clash.Sized.BitVector + Clash.Sized.Fixed + Clash.Sized.Index + Clash.Sized.RTree + Clash.Sized.Signed + Clash.Sized.Unsigned + Clash.Sized.Vector + Clash.Sized.Vector.ToTuple + Clash.Sized.Vector.ToTuple.TH + + Clash.Sized.Internal.BitVector + Clash.Sized.Internal.Index + Clash.Sized.Internal.Mod + Clash.Sized.Internal.Signed + Clash.Sized.Internal.Unsigned + + Clash.Verification + Clash.Verification.DSL + Clash.Verification.Internal + + Clash.XException + Clash.XException.Internal + Clash.XException.MaybeX + Clash.XException.TH + + Clash.Xilinx.ClockGen + Clash.Xilinx.DDR + + Clash.Tutorial + Clash.Examples + Clash.Examples.Internal + + other-modules: + Clash.Class.AutoReg.Instances + Clash.Clocks.Internal + Clash.CPP + Clash.Signal.Bundle.Internal + Clash.Sized.Internal + Language.Haskell.TH.Compat + Paths_clash_prelude + + other-extensions: CPP + ConstraintKinds + FlexibleContexts + FlexibleInstances + GADTs + GeneralizedNewtypeDeriving + MultiParamTypeClasses + PatternSynonyms + RankNTypes + TemplateHaskell + TypeFamilies + UndecidableInstances + + Build-depends: array >= 0.5.1.0 && < 0.6, + arrows >= 0.4 && < 0.5, + base >= 4.11 && < 5, + binary >= 0.8.5 && < 0.11, + bytestring >= 0.10.8 && < 0.13, + constraints >= 0.9 && < 1.0, + containers >= 0.4.0 && < 0.8, + data-binary-ieee754 >= 0.4.4 && < 0.6, + data-default-class >= 0.1.2 && < 0.3, + deepseq >= 1.4.1.0 && < 1.6, + extra >= 1.6.17 && < 1.9, + ghc-prim >= 0.5.1.0 && < 0.13, + ghc-typelits-extra >= 0.4 && < 0.5, + ghc-typelits-knownnat >= 0.7.2 && < 0.8, + ghc-typelits-natnormalise >= 0.7.2 && < 0.8, + hashable >= 1.2.1.0 && < 1.6, + half >= 0.2.2.3 && < 1.0, + infinite-list ^>= 0.1, + lens >= 4.10 && < 5.4, + QuickCheck >= 2.7 && < 2.16, + recursion-schemes >= 5.1 && < 5.3, + reflection >= 2 && < 2.2, + singletons >= 2.0 && < 3.1, + string-interpolate ^>= 0.3, + tagged >= 0.8 && < 0.9, + template-haskell >= 2.12.0.0 && < 2.23, + th-abstraction >= 0.2.10 && < 0.8.0, + th-lift >= 0.7.0 && < 0.9, + th-orphans >= 0.13.1 && < 1.0, + text >= 0.11.3.1 && < 2.2, + time >= 1.8 && < 1.15, + transformers >= 0.5.2.0 && < 0.7, + type-errors >= 0.2.0.0 && < 0.3, + uniplate >= 1.6.12 && < 1.7, + vector >= 0.11 && < 1.0, + mtl >= 2.0 && < 3.0 + + if impl(ghc >= 9.0.0) + Build-Depends: ghc-bignum >= 1.0 && < 1.4 + else + Build-Depends: integer-gmp >= 1.0.1.0 && < 2.0 + if flag(large-tuples) + Build-Depends: ghc + +test-suite doctests + type: exitcode-stdio-1.0 + default-language: Haskell2010 + main-is: doctests.hs + ghc-options: -Wall -Wcompat -threaded + hs-source-dirs: tests + + if !flag(doctests) + buildable: False + else + build-depends: + base, + clash-prelude, + doctest-parallel >= 0.2 && < 0.5, + filepath + + if arch(x86_64) && flag(workaround-ghc-mmap-crash) + ghc-options: -with-rtsopts=-xm20000000 + + +test-suite unittests + import: common-options + type: exitcode-stdio-1.0 + main-is: unittests.hs + ghc-options: -Wall -Wcompat -threaded + -- Note that multiple -with-rtsopts are not cumulative + if arch(x86_64) && flag(workaround-ghc-mmap-crash) + ghc-options: "-with-rtsopts=-N -xm20000000" + else + ghc-options: -with-rtsopts=-N + + hs-source-dirs: tests + + if !flag(unittests) + buildable: False + else + build-depends: + clash-prelude, + + ghc-typelits-knownnat, + ghc-typelits-natnormalise, + ghc-typelits-extra, + + base, + bytestring, + deepseq, + hedgehog >= 1.0.3 && < 1.6, + hint >= 0.7 && < 0.10, + quickcheck-classes-base >= 0.6 && < 1.0, + tasty >= 1.2 && < 1.6, + tasty-hedgehog >= 1.2.0, + tasty-hunit, + tasty-th, + tasty-quickcheck, + template-haskell + + Other-Modules: + Clash.Tests.AsyncFIFOSynchronizer + Clash.Tests.AutoReg + Clash.Tests.BitPack + Clash.Tests.BitVector + Clash.Tests.BlockRam + Clash.Tests.BlockRam.Blob + Clash.Tests.Clocks + Clash.Tests.Counter + Clash.Tests.DerivingDataRepr + Clash.Tests.DerivingDataReprTypes + Clash.Tests.Fixed + Clash.Tests.FixedExhaustive + Clash.Tests.MaybeX + Clash.Tests.NFDataX + Clash.Tests.NumNewtypes + Clash.Tests.Ram + Clash.Tests.Reset + Clash.Tests.Resize + Clash.Tests.Signal + Clash.Tests.Signed + Clash.Tests.SizedNum + Clash.Tests.TopEntityGeneration + Clash.Tests.Unsigned + Clash.Tests.Vector + Clash.Tests.XException + + Clash.Tests.Laws.Enum + Clash.Tests.Laws.SaturatingNum + + Hedgehog.Extra + + Test.Tasty.HUnit.Extra + Test.Tasty.Hedgehog.Extra + Test.QuickCheck.Extra + +benchmark benchmark-clash-prelude + type: exitcode-stdio-1.0 + default-language: Haskell2010 + main-is: benchmark-main.hs + ghc-options: -O2 -Wall + hs-source-dirs: benchmarks + + ghc-options: -with-rtsopts=-T + + if !flag(benchmarks) + buildable: False + else + build-depends: + base, + clash-prelude, + criterion >= 1.3.0.0 && < 1.7, + directory, + deepseq, + template-haskell + + Other-Modules: BenchBitVector + BenchCommon + BenchFixed + BenchRAM + BenchSigned + BenchUnsigned + BenchVector
revision 2
Cabal-version: 2.2 Name: clash-prelude Version: 1.8.4 -x-revision: 1 +x-revision: 2 Synopsis: Clash: a functional hardware description language - Prelude library Description: Clash is a functional hardware description language that borrows both its deepseq >= 1.4.1.0 && < 1.6, extra >= 1.6.17 && < 1.9, ghc-prim >= 0.5.1.0 && < 0.13, - ghc-typelits-extra >= 0.4 && < 0.5, - ghc-typelits-knownnat >= 0.7.2 && < 0.8, - ghc-typelits-natnormalise >= 0.7.2 && < 0.8, + ghc-typelits-extra >= 0.4 && < 0.6, + ghc-typelits-knownnat >= 0.7.2 && < 0.9, + ghc-typelits-natnormalise >= 0.7.2 && < 0.10, hashable >= 1.2.1.0 && < 1.6, half >= 0.2.2.3 && < 1.0, infinite-list ^>= 0.1,