Cabal-version: 2.2 Name: clash-lib Version: 1.1.0 Synopsis: CAES Language for Synchronous Hardware - As a 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: . * The CoreHW internal language: SystemF + Letrec + Case-decomposition . * The normalisation process that brings CoreHW in a normal form that can be converted to a netlist . * Blackbox/Primitive Handling . . Front-ends (for: parsing, typecheck, etc.) are provided by separate packages: . * . * . . Prelude library: 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. Copyright: Copyright © 2012-2016, University of Twente, 2016-2019, Myrtle Software Ltd, 2017-2019, QBayLogic B.V., Google Inc. Category: Hardware Build-type: Simple Extra-source-files: README.md, CHANGELOG.rst src/ClashDebug.h Data-files: prims/common/*.json, prims/commonverilog/*.json, prims/verilog/*.json, prims/systemverilog/*.json, prims/vhdl/*.json source-repository head type: git location: https://github.com/clash-lang/clash-compiler.git subdir: clash-lib flag debug description: Build a debug compiler default: False manual: True flag history description: Emit rewrite history to disk default: False manual: True flag unittests description: You can disable testing with unittests using `-f-unittests`. default: True manual: True common common-options default-language: Haskell2010 default-extensions: BangPatterns BinaryLiterals DataKinds DefaultSignatures DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies InstanceSigs KindSignatures ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeOperators ViewPatterns if impl(ghc >= 8.6) default-extensions: NoStarIsType Library import: common-options HS-Source-Dirs: src ghc-options: -Wall CPP-Options: -DCABAL other-extensions: CPP DeriveAnyClass FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses OverloadedStrings RankNTypes RecordWildCards TemplateHaskell Build-depends: aeson >= 0.6.2.0 && < 1.5, ansi-terminal >= 0.8.0.0 && < 0.10, attoparsec >= 0.10.4.0 && < 0.14, base >= 4.10 && < 5, binary >= 0.8.5 && < 0.11, bytestring >= 0.10.0.2 && < 0.11, clash-prelude >= 1.1 && < 1.2, concurrent-supply >= 0.1.7 && < 0.2, containers >= 0.5.0.0 && < 0.7, data-binary-ieee754 >= 0.4.4 && < 0.6, data-default >= 0.7 && < 0.8, deepseq >= 1.3.0.2 && < 1.5, dlist >= 0.8 && < 0.9, directory >= 1.2.0.1 && < 1.4, errors >= 1.4.2 && < 2.4, exceptions >= 0.8.3 && < 0.11.0, extra >= 1.6.18 && < 1.7, filepath >= 1.3.0.1 && < 1.5, ghc >= 8.4.0 && < 8.9, ghc-boot-th, hashable >= 1.2.1.0 && < 1.4, haskell-src-meta >= 0.8 && < 0.9, hint >= 0.7 && < 0.10, integer-gmp >= 1.0 && < 1.1, interpolate >= 0.2.0 && < 1.0, lens >= 3.9.2 && < 4.19, mtl >= 2.1.2 && < 2.3, ordered-containers >= 0.2 && < 0.3, parsers >= 0.12.8 && < 1.0, prettyprinter >= 1.2.0.1 && < 2.0, primitive >= 0.5.0.1 && < 1.0, process >= 1.1.0.2 && < 1.7, reducers >= 3.12.2 && < 4.0, template-haskell >= 2.8.0.0 && < 2.16, temporary >= 1.2.1 && < 1.4, text >= 1.2.2 && < 1.3, text-show >= 3.7 && < 3.9, time >= 1.4.0.1 && < 1.10, transformers >= 0.5.2.0 && < 0.6, trifecta >= 1.7.1.1 && < 2.2, vector >= 0.11 && < 1.0, vector-binary-instances >= 0.2.3.5 && < 0.3, unordered-containers >= 0.2.3.3 && < 0.3 Autogen-Modules: Paths_clash_lib Exposed-modules: Clash.Annotations.BitRepresentation.ClashLib Clash.Backend Clash.Backend.SystemVerilog Clash.Backend.Verilog Clash.Backend.VHDL Clash.Core.DataCon Clash.Core.Evaluator Clash.Core.Evaluator.Types Clash.Core.FreeVars Clash.Core.Literal Clash.Core.Name Clash.Core.Pretty Clash.Core.Subst Clash.Core.Term Clash.Core.TermLiteral Clash.Core.TermLiteral.TH Clash.Core.TyCon Clash.Core.Type Clash.Core.TysPrim Clash.Core.Util Clash.Core.Var Clash.Core.VarEnv Clash.Driver Clash.Driver.Types Clash.Netlist Clash.Netlist.BlackBox Clash.Netlist.BlackBox.Parser Clash.Netlist.BlackBox.Types Clash.Netlist.BlackBox.Util Clash.Netlist.Id Clash.Netlist.Types Clash.Netlist.Util Clash.Normalize Clash.Normalize.DEC Clash.Normalize.PrimitiveReductions Clash.Normalize.Strategy Clash.Normalize.Transformations Clash.Normalize.Types Clash.Normalize.Util Clash.Primitives.Types Clash.Primitives.Util Clash.Primitives.GHC.Int Clash.Primitives.GHC.Literal Clash.Primitives.GHC.Word Clash.Primitives.Intel.ClockGen Clash.Primitives.Sized.ToInteger Clash.Primitives.Sized.Vector Clash.Rewrite.Combinators Clash.Rewrite.Types Clash.Rewrite.Util Clash.Unique Clash.Util Clash.Util.Graph Clash.Util.Interpolate Clash.Pretty Data.Text.Prettyprint.Doc.Extra Other-Modules: Clash.Annotations.TopEntity.Extra Data.Aeson.Extra Data.Semigroup.Monad.Extra Data.Set.Ordered.Extra Data.Vector.Primitive.Extra GHC.BasicTypes.Extra GHC.SrcLoc.Extra Paths_clash_lib if flag(debug) cpp-options: -DDEBUG if flag(history) cpp-options: -DHISTORY test-suite unittests import: common-options type: exitcode-stdio-1.0 default-language: Haskell2010 main-is: unittests.hs ghc-options: -Wall hs-source-dirs: tests if !flag(unittests) buildable: False else build-depends: clash-prelude, clash-lib, ghc-typelits-knownnat, base, ghc, lens, tasty >= 1.2 && < 1.3, tasty-hunit Other-Modules: Clash.Tests.Core.FreeVars Clash.Tests.Core.Subst Clash.Tests.Util.Interpolate