cabal-version: 2.4 name: Blinker version: 0.1 license: BSD-2-Clause author: John Smith maintainer: John Smith common common-options default-extensions: BangPatterns BinaryLiterals ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies InstanceSigs KindSignatures LambdaCase NoStarIsType PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeOperators ViewPatterns -- TemplateHaskell is used to support convenience functions such as -- 'listToVecTH' and 'bLit'. TemplateHaskell QuasiQuotes -- Prelude isn't imported by default as Clash offers Clash.Prelude NoImplicitPrelude ghc-options: -Wall -Wcompat -haddock -- Plugins to support type-level constraint solving on naturals -fplugin GHC.TypeLits.Extra.Solver -fplugin GHC.TypeLits.Normalise -fplugin GHC.TypeLits.KnownNat.Solver -- Clash needs access to the source code in compiled modules -fexpose-all-unfoldings -- Worker wrappers introduce unstable names for functions that might have -- blackboxes attached for them. You can disable this, but be sure to add -- a no-specialize pragma to every function with a blackbox. -fno-worker-wrapper -- Strict annotations - while sometimes preventing space leaks - trigger -- optimizations Clash can't deal with. See: -- -- https://github.com/clash-lang/clash-compiler/issues/2361 -- -- These flags disables these optimizations. Note that the fields will -- remain strict. -fno-unbox-small-strict-fields -fno-unbox-strict-fields build-depends: base, Cabal, -- clash-prelude will set suitable version bounds for the plugins clash-prelude >= 1.8.1 && < 1.10, ghc-typelits-natnormalise, ghc-typelits-extra, ghc-typelits-knownnat library import: common-options hs-source-dirs: src exposed-modules: Blinker default-language: Haskell2010