<XML><RECORDS><RECORD><REFERENCE_TYPE>7</REFERENCE_TYPE><REFNUM>7524</REFNUM><AUTHORS><AUTHOR>O'Donnell,J.T.</AUTHOR></AUTHORS><YEAR>2004</YEAR><TITLE>Embedding a Hardware Description Language in Template Haskell</TITLE><PLACE_PUBLISHED>LNCS 3016</PLACE_PUBLISHED><PUBLISHER>Springer Verlag</PUBLISHER><PAGES>143-164</PAGES><ISBN>ISBN 3-540-22119-0</ISBN><LABEL>O'Donnell:2004:7524</LABEL><KEYWORDS><KEYWORD>Hardware Description</KEYWORD></KEYWORDS<ABSTRACT>Hydra is a domain-specific language for designing digital circuits, which is implemented by embedding within Haskell. Many features required for hardware specification fit well within functional languages, leading in many cases to a perfect embedding. There are some situations, including netlist generation and software logic probes, where the DSL does not fit exactly within the host functional language. A new solution to these problems is based on program transformations performed automatically by metaprograms in Template Haskell.</ABSTRACT></RECORD></RECORDS></XML>