clash-ghc: Clash: a functional hardware description language - GHC frontend
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 - Signals, lead to natural descriptions of feedback loops.
- Support for multiple clock domains, with type safe clock domain crossing. 
This package provides:
- Clash Compiler binary using GHC/Haskell as a frontend 
Prelude library: https://hackage.haskell.org/package/clash-prelude
[Skip to Readme]
Modules
[Index] [Quick Jump]
Flags
Manual Flags
| Name | Description | Default | 
|---|---|---|
| dynamic | Build Clash binaries with GHC flag `-dynamic`. This flag should only be used for packaging purposes. Installations using cabal should use `--enable-executable-dynamic`! | Disabled | 
| use-ghc-paths | Locate the GHC core libraries using the `ghc-paths` package. Note: this flag may make binaries less relocatable, by hard-coding an absolute path to the core libraries. | Disabled | 
| workaround-ghc-mmap-crash | Only use this flag when hit by GHC bug #19421. See clash-compiler PR #2444. | Disabled | 
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- clash-ghc-1.8.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.2.1, 0.2.2, 0.2.2.1, 0.2.2.2, 0.3, 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.3.1, 0.3.2, 0.3.3, 0.4, 0.4.1, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.5.7, 0.5.8, 0.5.9, 0.5.10, 0.5.11, 0.5.12, 0.5.13, 0.5.14, 0.5.15, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8, 0.6.9, 0.6.10, 0.6.11, 0.6.12, 0.6.13, 0.6.14, 0.6.15, 0.6.16, 0.6.17, 0.6.18, 0.6.19, 0.6.20, 0.6.21, 0.6.22, 0.6.23, 0.6.24, 0.7, 0.7.0.1, 0.7.1, 0.7.2, 0.99, 0.99.1, 0.99.2, 0.99.3, 1.0.0, 1.0.1, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.8.0, 1.8.1, 1.8.2, 1.8.3 (info) | 
|---|---|
| Change log | CHANGELOG.md | 
| Dependencies | array (>=0.4 && <0.6), base (>=4.11 && <5), bytestring (>=0.9 && <0.13), Cabal, clash-ghc, clash-lib (==1.8.3), clash-prelude (==1.8.3), containers (>=0.5.4.0 && <0.8), data-binary-ieee754 (>=0.4.4 && <0.6), deepseq (>=1.3.0.2 && <1.6), directory (>=1.2 && <1.4), exceptions (>=0.10.4 && <0.11), extra (>=1.6 && <1.9), filepath (>=1.3 && <1.6), ghc (>=8.6.0 && <9.11), ghc-bignum (>=1.0 && <1.4), ghc-boot (>=8.6.0 && <9.11), ghc-prim (>=0.3.1.0 && <0.13), ghc-typelits-extra (>=0.3.2 && <0.5), ghc-typelits-knownnat (>=0.6 && <0.8), ghc-typelits-natnormalise (>=0.6 && <0.8), ghci (>=8.6.0 && <9.11), hashable (>=1.1.2.3 && <1.6), haskeline (>=0.7.0.3 && <0.9), integer-gmp (>=1.0.1.0 && <2.0), lens (>=4.10 && <5.4), mtl (>=2.1.1 && <2.4), primitive (>=0.5.0.1 && <1.0), process (>=1.2 && <1.7), reflection (>=2.1.2 && <3.0), split (>=0.2.3 && <0.3), string-interpolate (>=0.3 && <0.4), template-haskell (>=2.8.0.0 && <2.23), text (>=1.2.2 && <2.2), time (>=1.4.0.1 && <1.15), transformers (>=0.5.2.0 && <0.7), uniplate (>=1.6.12 && <1.8), unix (>=2.7.1 && <2.9), unordered-containers (>=0.2.1.0 && <0.3), utf8-string (>=1.0.0.0 && <1.1.0.0), vector (>=0.11 && <1.0), Win32 (>=2.3.1 && <2.15) [details] | 
| License | BSD-2-Clause | 
| Copyright | Copyright © 2012-2016, University of Twente, 2016-2017, Myrtle Software Ltd, 2017-2019, QBayLogic B.V., Google Inc. | 
| Author | The Clash Authors | 
| Maintainer | QBayLogic B.V. <devops@qbaylogic.com> | 
| Category | Hardware | 
| Home page | https://clash-lang.org/ | 
| Bug tracker | https://github.com/clash-lang/clash-compiler/issues | 
| Source repo | head: git clone https://github.com/clash-lang/clash-compiler.git(clash-ghc) | 
| Uploaded | by QBayLogic at 2025-10-06T22:01:10Z | 
| Distributions | Arch:1.8.2, NixOS:1.8.2 | 
| Reverse Dependencies | 5 direct, 0 indirect [details] | 
| Executables | clashi, clash | 
| Downloads | 71353 total (328 in the last 30 days) | 
| Rating | 2.25 (votes: 2) [estimated by Bayesian average] | 
| Your Rating | |
| Status | Docs uploaded by user Build status unknown [no reports yet] |