CλaSH (pronounced ‘clash’) is a functional hardware description language that
borrows both its syntax and semantics from the functional programming language
Haskell. The merits of using a functional language to describe hardware comes
from the fact that combinational circuits can be directly modelled as
mathematical functions and that functional languages lend themselves very well
at describing and (de-)composing mathematical functions.

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