Name: clash-lib Version: 1.0.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: http://www.clash-lang.org/ bug-reports: http://github.com/clash-lang/clash-compiler/issues License: BSD2 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.md src/ClashDebug.h Data-files: prims/common/*.json, prims/commonverilog/*.json, prims/verilog/*.json, prims/systemverilog/*.json, prims/vhdl/*.json Cabal-version: >=1.10 source-repository head type: git location: https://github.com/clash-lang/clash-compiler.git 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 Library HS-Source-Dirs: src default-language: Haskell2010 ghc-options: -Wall CPP-Options: -DCABAL other-extensions: CPP DeriveAnyClass DeriveGeneric DeriveFoldable DeriveFunctor FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses OverloadedStrings Rank2Types RecordWildCards ScopedTypeVariables TemplateHaskell TupleSections ViewPatterns 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.0 && < 1.1, concurrent-supply >= 0.1.7 && < 0.2, containers >= 0.5.0.0 && < 0.7, data-binary-ieee754 >= 0.4.4 && < 0.6, deepseq >= 1.3.0.2 && < 1.5, directory >= 1.2.0.1 && < 1.4, errors >= 1.4.2 && < 2.4, exceptions >= 0.8.3 && < 0.11.0, filepath >= 1.3.0.1 && < 1.5, ghc >= 8.2.0 && < 8.9, hashable >= 1.2.1.0 && < 1.4, 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, 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 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.FreeVars Clash.Core.Literal Clash.Core.Name Clash.Core.Pretty Clash.Core.Subst Clash.Core.Term 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.Vector Clash.Rewrite.Combinators Clash.Rewrite.Types Clash.Rewrite.Util Clash.Unique Clash.Util Clash.Util.Graph Clash.Pretty Data.Text.Prettyprint.Doc.Extra Other-Modules: Clash.Annotations.TopEntity.Extra Data.Aeson.Extra Data.Semigroup.Monad.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 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