Using Rewriting to Synthesize Functional Languages to Digital Circuits [chapter]

Christiaan Baaij, Jan Kuper
2014 Lecture Notes in Computer Science  
A straightforward synthesis of functional languages to digital circuits transforms variables to wires. The type of these variables determines the bit-width of the wires. Assigning a bit-width to polymorphic and function-type variables within this direct synthesis scheme is impossible. Using a term rewrite system, polymorphic and function-type binders can be completely eliminated from a circuit description given only minor, reasonable, restrictions on the input. The presented term rewrite system
more » ... is used in the compiler for CλaSH: a polymorphic, higher-order, functional hardware description language.
doi:10.1007/978-3-642-45340-3_2 fatcat:7s6ojzn5kne7hahlqecxtdjwga