packages feed

clash-lib-0.6.2: clash-lib.cabal

Name:                 clash-lib
Version:              0.6.2
Synopsis:             CAES Language for Synchronous Hardware - As a Library
Description:
  CλaSH (pronounced ‘clash’) is a functional hardware description language that
  borrows both its syntax and semantics from the functional programming language
  Haskell. The CλaSH compiler transforms these high-level descriptions to
  low-level synthesizable VHDL, Verilog, or SystemVerilog.
  .
  Features of CλaSH:
  .
  * Strongly typed (like VHDL), yet with a very high degree of type inference,
    enabling both safe and fast prototying using consise descriptions (like
    Verilog).
  .
  * 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:
  .
  * <http://hackage.haskell.org/package/clash-ghc GHC/Haskell Frontend>
  .
  * <https://github.com/christiaanb/Idris-dev Idris Frontend>
  .
  .
  Prelude library: <http://hackage.haskell.org/package/clash-prelude>
Homepage:             http://www.clash-lang.org/
bug-reports:          http://github.com/clash-lang/clash-compiler/issues
License:              BSD2
License-file:         LICENSE
Author:               Christiaan Baaij
Maintainer:           Christiaan Baaij <christiaan.baaij@gmail.com>
Copyright:            Copyright © 2012-2015 University of Twente
Category:             Hardware
Build-type:           Simple

Extra-source-files:   README.md,
                      CHANGELOG.md

Cabal-version:        >=1.10

source-repository head
  type: git
  location: https://github.com/clash-lang/clash-compiler.git

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,
                      attoparsec              >= 0.10.4.0,
                      base                    >= 4.8 && < 5,
                      bytestring              >= 0.10.0.2,
                      clash-prelude           >= 0.10,
                      concurrent-supply       >= 0.1.7,
                      containers              >= 0.5.0.0,
                      deepseq                 >= 1.3.0.2,
                      directory               >= 1.2.0.1,
                      errors                  >= 1.4.2,
                      fgl                     >= 5.4.2.4,
                      filepath                >= 1.3.0.1,
                      hashable                >= 1.2.1.0,
                      lens                    >= 3.9.2,
                      mtl                     >= 2.1.2,
                      pretty                  >= 1.1.1.0,
                      process                 >= 1.1.0.2,
                      template-haskell        >= 2.8.0.0,
                      text                    >= 0.11.3.1,
                      time                    >= 1.4.0.1,
                      transformers            >= 0.3.0.0,
                      unbound-generics        >= 0.1 && < 0.3,
                      unordered-containers    >= 0.2.3.3,
                      uu-parsinglib           >= 2.8.1,
                      wl-pprint-text          >= 1.1.0.0

  Exposed-modules:    CLaSH.Backend

                      CLaSH.Core.DataCon
                      CLaSH.Core.FreeVars
                      CLaSH.Core.Literal
                      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.Driver
                      CLaSH.Driver.TestbenchGen
                      CLaSH.Driver.TopWrapper
                      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.Rewrite.Combinators
                      CLaSH.Rewrite.Types
                      CLaSH.Rewrite.Util

                      CLaSH.Util

  Other-Modules:      Data.Aeson.Extra
                      Paths_clash_lib
                      Unbound.Generics.LocallyNameless.Extra