Hoogle Search
Within LTS Haskell 24.35 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
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.
- Clash Compiler binary using GHC/Haskell as a frontend
-
Clash: a functional hardware description language - As a library 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.
- 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
-
A library to process command line arguments in some more convenient way. Uses three types of the command line arguments and order of their parsing. All groups usually are not nested one into the others (but using the sequence of parsing functions, you can parse also nested structures as well).
-
Integers bounded by a closed interval Integers bounded by a closed interval checked at compile time
-
Fast, accurate GitHub Flavored Markdown parser and renderer This package provides Haskell bindings for libcmark-gfm, the reference parser for GitHub Flavored Markdown, a fully specified variant of Markdown. It includes sources for libcmark-gfm (0.29.0.gfm.13) and does not require prior installation of the C library.
-
Composable Contravariant Comonadic Logging Library The default implementation of logging based on co-log-core. The ideas behind this package are described in the following blog post:
-
Composable Contravariant Comonadic Logging Library Implementation of the co-log logging based on the polysemy extensible effects library. The ideas behind this package are described in the following blog post:
For the taggless final implementation of the co-log ideas se the following package: -
synthesize Haskell functions out of partial definitions Conjure is a tool that synthesizes Haskell functions out of partial definitions.
-
Erlang VM byte code assembler Erlang VM byte code assembler.
-
Linear Programming using COIN-OR/CLP and comfort-array Simple interface to linear programming functions provided by COIN-OR using the flexible Array shape framework from comfort-array. E.g. you can use Shape.Tuple to convert safely between nested tuples and arrays with the same number of elements.
type X = Shape.Element type PairShape = Shape.NestedTuple Shape.TupleIndex (X,X) case Shape.indexTupleFromShape (Shape.static :: PairShape) of (posIx,negIx) -> case mapSnd (mapSnd Array.toTuple) <$> LP.simplex [] [[1.*posIx, (-1).*negIx] ==. 314] (LP.Minimize, Array.fromTuple (23,42) :: Array PairShape Double) of (Right (LP.Optimal, (absol, (pos, neg)))) -> printf "absol %f, pos %f, neg %f\n" absol pos neg _ -> fail "COINOR solver failed"
Alternatives: comfort-glpk, hmatrix-glpk, glpk-hs