[{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Unit\">Unit</a><ul class=\"subs\"><li>= <a href=\"#v:Fs\">Fs</a></li><li>| <a href=\"#v:Ps\">Ps</a></li><li>| <a href=\"#v:Ns\">Ns</a></li><li>| <a href=\"#v:Us\">Us</a></li><li>| <a href=\"#v:Ms\">Ms</a></li><li>| <a href=\"#v:S\">S</a></li></ul>","name":"Unit Ms Us Ns Ps Fs S","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#t:Unit"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Period\">Period</a> = <a href=\"#v:Period\">Period</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word64\" title=\"Data.Word\">Word64</a> <a href=\"Clash-Backend-Verilog-Time.html#t:Unit\" title=\"Clash.Backend.Verilog.Time\">Unit</a>","name":"Period Period","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#t:Period"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Scale\">Scale</a> = <a href=\"#v:Scale\">Scale</a> {<ul class=\"subs\"><li><a href=\"#v:step\">step</a> :: <a href=\"Clash-Backend-Verilog-Time.html#t:Period\" title=\"Clash.Backend.Verilog.Time\">Period</a></li><li><a href=\"#v:precision\">precision</a> :: <a href=\"Clash-Backend-Verilog-Time.html#t:Period\" title=\"Clash.Backend.Verilog.Time\">Period</a></li></ul>}","name":"Scale precision step Scale","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#t:Scale"},{"display_html":"<a href=\"#v:scaleToString\">scaleToString</a> :: <a href=\"Clash-Backend-Verilog-Time.html#t:Scale\" title=\"Clash.Backend.Verilog.Time\">Scale</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"scaleToString","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#v:scaleToString"},{"display_html":"<a href=\"#v:periodToString\">periodToString</a> :: <a href=\"Clash-Backend-Verilog-Time.html#t:Period\" title=\"Clash.Backend.Verilog.Time\">Period</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"periodToString","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#v:periodToString"},{"display_html":"<a href=\"#v:unitToString\">unitToString</a> :: <a href=\"Clash-Backend-Verilog-Time.html#t:Unit\" title=\"Clash.Backend.Verilog.Time\">Unit</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"unitToString","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#v:unitToString"},{"display_html":"<a href=\"#v:parseUnit\">parseUnit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Backend-Verilog-Time.html#t:Unit\" title=\"Clash.Backend.Verilog.Time\">Unit</a>","name":"parseUnit","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#v:parseUnit"},{"display_html":"<a href=\"#v:parsePeriod\">parsePeriod</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Backend-Verilog-Time.html#t:Period\" title=\"Clash.Backend.Verilog.Time\">Period</a>","name":"parsePeriod","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#v:parsePeriod"},{"display_html":"<a href=\"#v:convertUnit\">convertUnit</a> :: <a href=\"Clash-Backend-Verilog-Time.html#t:Unit\" title=\"Clash.Backend.Verilog.Time\">Unit</a> -&gt; <a href=\"Clash-Backend-Verilog-Time.html#t:Period\" title=\"Clash.Backend.Verilog.Time\">Period</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word64\" title=\"Data.Word\">Word64</a>","name":"convertUnit","module":"Clash.Backend.Verilog.Time","link":"Clash-Backend-Verilog-Time.html#v:convertUnit"},{"display_html":"<a href=\"#v:debugIsOn\">debugIsOn</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"debugIsOn","module":"Clash.Debug","link":"Clash-Debug.html#v:debugIsOn"},{"display_html":"<a href=\"#v:traceIf\">traceIf</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; a -&gt; a","name":"traceIf","module":"Clash.Debug","link":"Clash-Debug.html#v:traceIf"},{"display_html":"module <a href=\"/package/base-4.18.3.0/docs/Debug-Trace.html\">Debug.Trace</a>","name":"","module":"Clash.Debug","link":""},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:OverridingBool\">OverridingBool</a><ul class=\"subs\"><li>= <a href=\"#v:Auto\">Auto</a></li><li>| <a href=\"#v:Never\">Never</a></li><li>| <a href=\"#v:Always\">Always</a></li></ul>","name":"OverridingBool Always Never Auto","module":"Clash.Driver.Bool","link":"Clash-Driver-Bool.html#t:OverridingBool"},{"display_html":"<a href=\"#v:toGhcOverridingBool\">toGhcOverridingBool</a> :: <a href=\"Clash-Driver-Bool.html#t:OverridingBool\" title=\"Clash.Driver.Bool\">OverridingBool</a> -&gt; <a href=\"/package/ghc-9.6.7/docs/GHC-Data-Bool.html#t:OverridingBool\" title=\"GHC.Data.Bool\">OverridingBool</a>","name":"toGhcOverridingBool","module":"Clash.Driver.Bool","link":"Clash-Driver-Bool.html#v:toGhcOverridingBool"},{"display_html":"<a href=\"#v:fromGhcOverridingBool\">fromGhcOverridingBool</a> :: <a href=\"/package/ghc-9.6.7/docs/GHC-Data-Bool.html#t:OverridingBool\" title=\"GHC.Data.Bool\">OverridingBool</a> -&gt; <a href=\"Clash-Driver-Bool.html#t:OverridingBool\" title=\"Clash.Driver.Bool\">OverridingBool</a>","name":"fromGhcOverridingBool","module":"Clash.Driver.Bool","link":"Clash-Driver-Bool.html#v:fromGhcOverridingBool"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Edam\">Edam</a> = <a href=\"#v:Edam\">Edam</a> {<ul class=\"subs\"><li><a href=\"#v:edamProjectName\">edamProjectName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:edamTopEntity\">edamTopEntity</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:edamFiles\">edamFiles</a> :: [<a href=\"Clash-Edalize-Edam.html#t:EdamFile\" title=\"Clash.Edalize.Edam\">EdamFile</a>]</li><li><a href=\"#v:edamToolOptions\">edamToolOptions</a> :: <a href=\"Clash-Edalize-Edam.html#t:EdamTools\" title=\"Clash.Edalize.Edam\">EdamTools</a></li></ul>}","name":"Edam Edam edamProjectName edamTopEntity edamFiles edamToolOptions","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:Edam"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:EdamFile\">EdamFile</a> = <a href=\"#v:EdamFile\">EdamFile</a> {<ul class=\"subs\"><li><a href=\"#v:efName\">efName</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a></li><li><a href=\"#v:efType\">efType</a> :: <a href=\"Clash-Edalize-Edam.html#t:EdamFileType\" title=\"Clash.Edalize.Edam\">EdamFileType</a></li><li><a href=\"#v:efLogicalName\">efLogicalName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li></ul>}","name":"EdamFile EdamFile efName efType efLogicalName","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:EdamFile"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:EdamFileType\">EdamFileType</a><ul class=\"subs\"><li>= <a href=\"#v:Unknown\">Unknown</a></li><li>| <a href=\"#v:VhdlSource\">VhdlSource</a></li><li>| <a href=\"#v:VerilogSource\">VerilogSource</a></li><li>| <a href=\"#v:SystemVerilogSource\">SystemVerilogSource</a></li><li>| <a href=\"#v:TclSource\">TclSource</a></li><li>| <a href=\"#v:QSYS\">QSYS</a></li><li>| <a href=\"#v:SDC\">SDC</a></li></ul>","name":"EdamFileType SDC Unknown VhdlSource VerilogSource SystemVerilogSource TclSource QSYS","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:EdamFileType"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:EdamTools\">EdamTools</a> = <a href=\"#v:EdamTools\">EdamTools</a> {<ul class=\"subs\"><li><a href=\"#v:etGhdl\">etGhdl</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Edalize-Edam.html#t:GhdlOptions\" title=\"Clash.Edalize.Edam\">GhdlOptions</a></li><li><a href=\"#v:etIcarus\">etIcarus</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Edalize-Edam.html#t:IcarusOptions\" title=\"Clash.Edalize.Edam\">IcarusOptions</a></li><li><a href=\"#v:etModelsim\">etModelsim</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Edalize-Edam.html#t:ModelsimOptions\" title=\"Clash.Edalize.Edam\">ModelsimOptions</a></li><li><a href=\"#v:etQuartus\">etQuartus</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Edalize-Edam.html#t:QuartusOptions\" title=\"Clash.Edalize.Edam\">QuartusOptions</a></li><li><a href=\"#v:etVivado\">etVivado</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Edalize-Edam.html#t:VivadoOptions\" title=\"Clash.Edalize.Edam\">VivadoOptions</a></li></ul>}","name":"EdamTools EdamTools etGhdl etIcarus etModelsim etQuartus etVivado","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:EdamTools"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:GhdlOptions\">GhdlOptions</a> = <a href=\"#v:GhdlOptions\">GhdlOptions</a> {<ul class=\"subs\"><li><a href=\"#v:ghdlAnalyseOpts\">ghdlAnalyseOpts</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li><li><a href=\"#v:ghdlRunOpts\">ghdlRunOpts</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li></ul>}","name":"GhdlOptions GhdlOptions ghdlAnalyseOpts ghdlRunOpts","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:GhdlOptions"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IcarusOptions\">IcarusOptions</a> = <a href=\"#v:IcarusOptions\">IcarusOptions</a> {<ul class=\"subs\"><li><a href=\"#v:icarusOpts\">icarusOpts</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li><li><a href=\"#v:icarusTimeScale\">icarusTimeScale</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li></ul>}","name":"IcarusOptions IcarusOptions icarusOpts icarusTimeScale","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:IcarusOptions"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ModelsimOptions\">ModelsimOptions</a> = <a href=\"#v:ModelsimOptions\">ModelsimOptions</a> {<ul class=\"subs\"><li><a href=\"#v:msVlogOpts\">msVlogOpts</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li><li><a href=\"#v:msVsimOpts\">msVsimOpts</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li></ul>}","name":"ModelsimOptions ModelsimOptions msVlogOpts msVsimOpts","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:ModelsimOptions"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:QuartusOptions\">QuartusOptions</a> = <a href=\"#v:QuartusOptions\">QuartusOptions</a> {<ul class=\"subs\"><li><a href=\"#v:quartusBoardDevIndex\">quartusBoardDevIndex</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:quartusFamily\">quartusFamily</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:quartusDevice\">quartusDevice</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:quartusOpts\">quartusOpts</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li><li><a href=\"#v:quartusDseOpts\">quartusDseOpts</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li></ul>}","name":"QuartusOptions QuartusOptions quartusBoardDevIndex quartusFamily quartusDevice quartusOpts quartusDseOpts","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:QuartusOptions"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:VivadoOptions\">VivadoOptions</a> = <a href=\"#v:VivadoOptions\">VivadoOptions</a> {<ul class=\"subs\"><li><a href=\"#v:vivadoPart\">vivadoPart</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li></ul>}","name":"VivadoOptions VivadoOptions vivadoPart","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#t:VivadoOptions"},{"display_html":"<a href=\"#v:pprEdam\">pprEdam</a> :: <a href=\"Clash-Edalize-Edam.html#t:Edam\" title=\"Clash.Edalize.Edam\">Edam</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann","name":"pprEdam","module":"Clash.Edalize.Edam","link":"Clash-Edalize-Edam.html#v:pprEdam"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Unique\">Unique</a> = <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word64\" title=\"Data.Word\">Word64</a>","name":"Unique","module":"Clash.Unique","link":"Clash-Unique.html#t:Unique"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:Unique-35-\">Unique#</a> :: <a href=\"Clash-Unique.html#t:Unique-35-\" title=\"Clash.Unique\">Unique#</a> -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>","name":"Unique#","module":"Clash.Unique","link":"Clash-Unique.html#v:Unique-35-"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Unique-35-\">Unique#</a> = <a href=\"/package/base-4.18.3.0/docs/GHC-Exts.html#t:Word64-35-\" title=\"GHC.Exts\">Word64#</a>","name":"Unique#","module":"Clash.Unique","link":"Clash-Unique.html#t:Unique-35-"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:Uniquable\">Uniquable</a> a <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:getUnique\">getUnique</a> :: a -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:setUnique\">setUnique</a> :: a -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; a</li></ul>","name":"Uniquable getUnique setUnique","module":"Clash.Unique","link":"Clash-Unique.html#t:Uniquable"},{"display_html":"<a href=\"#v:fromGhcUnique\">fromGhcUnique</a> :: <a href=\"/package/ghc-9.6.7/docs/GHC-Types-Unique.html#t:Unique\" title=\"GHC.Types.Unique\">Unique</a> -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>","name":"fromGhcUnique","module":"Clash.Unique","link":"Clash-Unique.html#v:fromGhcUnique"},{"display_html":"<a href=\"#v:fastEq\">fastEq</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Eq.html#t:Eq\" title=\"Data.Eq\">Eq</a> a =&gt; a -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"fastEq","module":"Clash.Util.Eq","link":"Clash-Util-Eq.html#v:fastEq"},{"display_html":"<a href=\"#v:fastEqBy\">fastEqBy</a> :: (a -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; a -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"fastEqBy","module":"Clash.Util.Eq","link":"Clash-Util-Eq.html#v:fastEqBy"},{"display_html":"<a href=\"#v:i\">i</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Quote.html#t:QuasiQuoter\" title=\"Language.Haskell.TH.Quote\">QuasiQuoter</a>","name":"i","module":"Clash.Util.Interpolate","link":"Clash-Util-Interpolate.html#v:i"},{"display_html":"<a href=\"#v:format\">format</a> :: [Node] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"format","module":"Clash.Util.Interpolate","link":"Clash-Util-Interpolate.html#v:format"},{"display_html":"<a href=\"#v:toString\">toString</a> :: <a href=\"/package/base-4.18.3.0/docs/Text-Show.html#t:Show\" title=\"Text.Show\">Show</a> a =&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"toString","module":"Clash.Util.Interpolate","link":"Clash-Util-Interpolate.html#v:toString"},{"display_html":"<a href=\"#v:unsafeLookupEnvWord\">unsafeLookupEnvWord</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"unsafeLookupEnvWord","module":"Clash.Pretty","link":"Clash-Pretty.html#v:unsafeLookupEnvWord"},{"display_html":"<a href=\"#v:defaultPprWidth\">defaultPprWidth</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"defaultPprWidth","module":"Clash.Pretty","link":"Clash-Pretty.html#v:defaultPprWidth"},{"display_html":"<a href=\"#v:showDoc\">showDoc</a> :: <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"showDoc","module":"Clash.Pretty","link":"Clash-Pretty.html#v:showDoc"},{"display_html":"<a href=\"#v:removeAnnotations\">removeAnnotations</a> :: <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ()","name":"removeAnnotations","module":"Clash.Pretty","link":"Clash-Pretty.html#v:removeAnnotations"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:ClashPretty\">ClashPretty</a> a <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:clashPretty\">clashPretty</a> :: a -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ()</li></ul>","name":"ClashPretty clashPretty","module":"Clash.Pretty","link":"Clash-Pretty.html#t:ClashPretty"},{"display_html":"<a href=\"#v:fromPretty\">fromPretty</a> :: <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Pretty\" title=\"Prettyprinter\">Pretty</a> a =&gt; a -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ()","name":"fromPretty","module":"Clash.Pretty","link":"Clash-Pretty.html#v:fromPretty"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:UniqMap\">UniqMap</a> a = <a href=\"#v:UniqMap\">UniqMap</a> {<ul class=\"subs\"><li><a href=\"#v:uniqMapToIntMap\">uniqMapToIntMap</a> :: <a href=\"/package/ghc-9.6.7/docs/GHC-Data-Word64Map-Strict-Internal.html#t:Word64Map\" title=\"GHC.Data.Word64Map.Strict.Internal\">Word64Map</a> a</li></ul>}","name":"UniqMap UniqMap uniqMapToIntMap","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#t:UniqMap"},{"display_html":"<a href=\"#v:empty\">empty</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a","name":"empty","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:empty"},{"display_html":"<a href=\"#v:singleton\">singleton</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"singleton","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:singleton"},{"display_html":"<a href=\"#v:singletonUnique\">singletonUnique</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a","name":"singletonUnique","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:singletonUnique"},{"display_html":"<a href=\"#v:null\">null</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"null","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:null"},{"display_html":"<a href=\"#v:insert\">insert</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"insert","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:insert"},{"display_html":"<a href=\"#v:insertUnique\">insertUnique</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a","name":"insertUnique","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:insertUnique"},{"display_html":"<a href=\"#v:insertWith\">insertWith</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; (b -&gt; b -&gt; b) -&gt; a -&gt; b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"insertWith","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:insertWith"},{"display_html":"<a href=\"#v:insertMany\">insertMany</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; [(a, b)] -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"insertMany","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:insertMany"},{"display_html":"<a href=\"#v:lookup\">lookup</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> b","name":"lookup","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:lookup"},{"display_html":"<a href=\"#v:find\">find</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; b","name":"find","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:find"},{"display_html":"<a href=\"#v:elem\">elem</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"elem","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:elem"},{"display_html":"<a href=\"#v:notElem\">notElem</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"notElem","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:notElem"},{"display_html":"<a href=\"#v:filter\">filter</a> :: (b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"filter","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:filter"},{"display_html":"<a href=\"#v:mapMaybe\">mapMaybe</a> :: (a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> b) -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"mapMaybe","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:mapMaybe"},{"display_html":"<a href=\"#v:foldrWithUnique\">foldrWithUnique</a> :: (<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a -&gt; b","name":"foldrWithUnique","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:foldrWithUnique"},{"display_html":"<a href=\"#v:foldlWithUnique-39-\">foldlWithUnique'</a> :: (b -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; a -&gt; b) -&gt; b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a -&gt; b","name":"foldlWithUnique'","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:foldlWithUnique-39-"},{"display_html":"<a href=\"#v:delete\">delete</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; a -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"delete","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:delete"},{"display_html":"<a href=\"#v:deleteMany\">deleteMany</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; [a] -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"deleteMany","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:deleteMany"},{"display_html":"<a href=\"#v:unionWith\">unionWith</a> :: (b -&gt; b -&gt; b) -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"unionWith","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:unionWith"},{"display_html":"<a href=\"#v:difference\">difference</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"difference","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:difference"},{"display_html":"<a href=\"#v:disjoint\">disjoint</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"disjoint","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:disjoint"},{"display_html":"<a href=\"#v:submap\">submap</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"submap","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:submap"},{"display_html":"<a href=\"#v:fromList\">fromList</a> :: <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a =&gt; [(a, b)] -&gt; <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b","name":"fromList","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:fromList"},{"display_html":"<a href=\"#v:toList\">toList</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; [(<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>, b)]","name":"toList","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:toList"},{"display_html":"<a href=\"#v:keys\">keys</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; [<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>]","name":"keys","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:keys"},{"display_html":"<a href=\"#v:elems\">elems</a> :: <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> b -&gt; [b]","name":"elems","module":"Clash.Data.UniqMap","link":"Clash-Data-UniqMap.html#v:elems"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Supply\">Supply</a>","name":"Supply","module":"Clash.Util.Supply","link":"Clash-Util-Supply.html#t:Supply"},{"display_html":"<a href=\"#v:newSupply\">newSupply</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>","name":"newSupply","module":"Clash.Util.Supply","link":"Clash-Util-Supply.html#v:newSupply"},{"display_html":"<a href=\"#v:freshId\">freshId</a> :: <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; (<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>, <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>)","name":"freshId","module":"Clash.Util.Supply","link":"Clash-Util-Supply.html#v:freshId"},{"display_html":"<a href=\"#v:splitSupply\">splitSupply</a> :: <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; (<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>)","name":"splitSupply","module":"Clash.Util.Supply","link":"Clash-Util-Supply.html#v:splitSupply"},{"display_html":"<a href=\"#v:freshId-35-\">freshId#</a> :: <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; (# <a href=\"Clash-Unique.html#t:Unique-35-\" title=\"Clash.Unique\">Unique#</a>, <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> #)","name":"freshId#","module":"Clash.Util.Supply","link":"Clash-Util-Supply.html#v:freshId-35-"},{"display_html":"<a href=\"#v:splitSupply-35-\">splitSupply#</a> :: <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; (# <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> #)","name":"splitSupply#","module":"Clash.Util.Supply","link":"Clash-Util-Supply.html#v:splitSupply-35-"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Literal\">Literal</a><ul class=\"subs\"><li>= <a href=\"#v:IntegerLiteral\">IntegerLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:IntLiteral\">IntLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:WordLiteral\">WordLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Int64Literal\">Int64Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Word64Literal\">Word64Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Int8Literal\">Int8Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Int16Literal\">Int16Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Int32Literal\">Int32Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Word8Literal\">Word8Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Word16Literal\">Word16Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Word32Literal\">Word32Literal</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:StringLiteral\">StringLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li>| <a href=\"#v:FloatLiteral\">FloatLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a></li><li>| <a href=\"#v:DoubleLiteral\">DoubleLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word64\" title=\"Data.Word\">Word64</a></li><li>| <a href=\"#v:CharLiteral\">CharLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a></li><li>| <a href=\"#v:NaturalLiteral\">NaturalLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:ByteArrayLiteral\">ByteArrayLiteral</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Array-Byte.html#t:ByteArray\" title=\"Data.Array.Byte\">ByteArray</a></li></ul>","name":"Literal StringLiteral CharLiteral IntegerLiteral IntLiteral WordLiteral Int64Literal Word64Literal Int8Literal Int16Literal Int32Literal Word8Literal Word16Literal Word32Literal FloatLiteral DoubleLiteral NaturalLiteral ByteArrayLiteral","module":"Clash.Core.Literal","link":"Clash-Core-Literal.html#t:Literal"},{"display_html":"<a href=\"#v:parseWhiteSpace\">parseWhiteSpace</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseWhiteSpace","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseWhiteSpace"},{"display_html":"<a href=\"#v:isWhiteSpace\">isWhiteSpace</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isWhiteSpace","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:isWhiteSpace"},{"display_html":"<a href=\"#v:parsePrintable\">parsePrintable</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parsePrintable","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parsePrintable"},{"display_html":"<a href=\"#v:parseSingle\">parseSingle</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseSingle","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseSingle"},{"display_html":"<a href=\"#v:parseMaybeSingle\">parseMaybeSingle</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseMaybeSingle","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseMaybeSingle"},{"display_html":"<a href=\"#v:parseLetter\">parseLetter</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseLetter","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseLetter"},{"display_html":"<a href=\"#v:parseDigit\">parseDigit</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseDigit","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseDigit"},{"display_html":"<a href=\"#v:parseLetterOrDigit\">parseLetterOrDigit</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseLetterOrDigit","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseLetterOrDigit"},{"display_html":"<a href=\"#v:parseUnderscore\">parseUnderscore</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseUnderscore","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseUnderscore"},{"display_html":"<a href=\"#v:parseDollar\">parseDollar</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseDollar","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseDollar"},{"display_html":"<a href=\"#v:parseTab\">parseTab</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseTab","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseTab"},{"display_html":"<a href=\"#v:parseBackslash\">parseBackslash</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"parseBackslash","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseBackslash"},{"display_html":"<a href=\"#v:failNonEmpty\">failNonEmpty</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"failNonEmpty","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:failNonEmpty"},{"display_html":"<a href=\"#v:repeatParseN\">repeatParseN</a> :: (<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>)","name":"repeatParseN","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:repeatParseN"},{"display_html":"<a href=\"#v:repeatParse\">repeatParse</a> :: (<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"repeatParse","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:repeatParse"},{"display_html":"<a href=\"#v:zEncode\">zEncode</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"zEncode","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:zEncode"},{"display_html":"<a href=\"#v:prettyName\">prettyName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"prettyName","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:prettyName"},{"display_html":"<a href=\"#v:maybeTuple\">maybeTuple</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>)","name":"maybeTuple","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:maybeTuple"},{"display_html":"<a href=\"#v:parseTuple\">parseTuple</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>)","name":"parseTuple","module":"Clash.Netlist.Id.Common","link":"Clash-Netlist-Id-Common.html#v:parseTuple"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Doc\">Doc</a> = <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ()","name":"Doc","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#t:Doc"},{"display_html":"<a href=\"#v:pretty\">pretty</a> :: (<a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f, <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Pretty\" title=\"Prettyprinter\">Pretty</a> a) =&gt; a -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"pretty","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:pretty"},{"display_html":"<a href=\"#v:colon\">colon</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"colon","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:colon"},{"display_html":"<a href=\"#v:comma\">comma</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"comma","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:comma"},{"display_html":"<a href=\"#v:int\">int</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"int","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:int"},{"display_html":"<a href=\"#v:integer\">integer</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"integer","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:integer"},{"display_html":"<a href=\"#v:string\">string</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"string","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:string"},{"display_html":"<a href=\"#v:char\">char</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"char","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:char"},{"display_html":"<a href=\"#v:space\">space</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"space","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:space"},{"display_html":"<a href=\"#v:fill\">fill</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"fill","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:fill"},{"display_html":"<a href=\"#v:parens\">parens</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"parens","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:parens"},{"display_html":"<a href=\"#v:-60--43--62-\">(&lt;+&gt;)</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"<+>","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:-60--43--62-"},{"display_html":"<a href=\"#v:isEmpty\">isEmpty</a> :: <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isEmpty","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:isEmpty"},{"display_html":"<a href=\"#v:align\">align</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"align","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:align"},{"display_html":"<a href=\"#v:line\">line</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"line","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:line"},{"display_html":"<a href=\"#v:semi\">semi</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"semi","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:semi"},{"display_html":"<a href=\"#v:equals\">equals</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"equals","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:equals"},{"display_html":"<a href=\"#v:lparen\">lparen</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"lparen","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:lparen"},{"display_html":"<a href=\"#v:rparen\">rparen</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"rparen","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:rparen"},{"display_html":"<a href=\"#v:lbrace\">lbrace</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"lbrace","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:lbrace"},{"display_html":"<a href=\"#v:rbrace\">rbrace</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"rbrace","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:rbrace"},{"display_html":"<a href=\"#v:squotes\">squotes</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"squotes","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:squotes"},{"display_html":"<a href=\"#v:brackets\">brackets</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"brackets","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:brackets"},{"display_html":"<a href=\"#v:braces\">braces</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"braces","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:braces"},{"display_html":"<a href=\"#v:hcat\">hcat</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>] -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"hcat","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:hcat"},{"display_html":"<a href=\"#v:hsep\">hsep</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>] -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"hsep","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:hsep"},{"display_html":"<a href=\"#v:vcat\">vcat</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>] -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"vcat","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:vcat"},{"display_html":"<a href=\"#v:nest\">nest</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"nest","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:nest"},{"display_html":"<a href=\"#v:punctuate\">punctuate</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>] -&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>]","name":"punctuate","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:punctuate"},{"display_html":"<a href=\"#v:dot\">dot</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"dot","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:dot"},{"display_html":"<a href=\"#v:comment\">comment</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"comment","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:comment"},{"display_html":"<a href=\"#v:column\">column</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>) -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"column","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:column"},{"display_html":"<a href=\"#v:nesting\">nesting</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>) -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"nesting","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:nesting"},{"display_html":"<a href=\"#v:indent\">indent</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"indent","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:indent"},{"display_html":"<a href=\"#v:emptyDoc\">emptyDoc</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"emptyDoc","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:emptyDoc"},{"display_html":"<a href=\"#v:enclose\">enclose</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"enclose","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:enclose"},{"display_html":"<a href=\"#v:encloseSep\">encloseSep</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>] -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"encloseSep","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:encloseSep"},{"display_html":"<a href=\"#v:flatAlt\">flatAlt</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"flatAlt","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:flatAlt"},{"display_html":"<a href=\"#v:line-39-\">line'</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"line'","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:line-39-"},{"display_html":"<a href=\"#v:softline\">softline</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"softline","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:softline"},{"display_html":"<a href=\"#v:softline-39-\">softline'</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"softline'","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:softline-39-"},{"display_html":"<a href=\"#v:tupled\">tupled</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>] -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"tupled","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:tupled"},{"display_html":"<a href=\"#v:vsep\">vsep</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f [<a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>] -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"vsep","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:vsep"},{"display_html":"<a href=\"#v:dquotes\">dquotes</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Functor.html#t:Functor\" title=\"Data.Functor\">Functor</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"dquotes","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:dquotes"},{"display_html":"<a href=\"#v:squote\">squote</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"squote","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:squote"},{"display_html":"<a href=\"#v:renderOneLine\">renderOneLine</a> :: <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>","name":"renderOneLine","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:renderOneLine"},{"display_html":"<a href=\"#v:layoutOneLine\">layoutOneLine</a> :: <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:SimpleDocStream\" title=\"Prettyprinter\">SimpleDocStream</a> ann","name":"layoutOneLine","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:layoutOneLine"},{"display_html":"<a href=\"#v:stringS\">stringS</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; f <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"stringS","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:stringS"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:LayoutOptions\">LayoutOptions</a> = <a href=\"#v:LayoutOptions\">LayoutOptions</a> {<ul class=\"subs\"><li><a href=\"#v:layoutPageWidth\">layoutPageWidth</a> :: <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:PageWidth\" title=\"Data.Text.Prettyprint.Doc.Extra\">PageWidth</a></li></ul>}","name":"LayoutOptions LayoutOptions layoutPageWidth","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#t:LayoutOptions"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PageWidth\">PageWidth</a><ul class=\"subs\"><li>= <a href=\"#v:AvailablePerLine\">AvailablePerLine</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Double\" title=\"Prelude\">Double</a></li><li>| <a href=\"#v:Unbounded\">Unbounded</a></li></ul>","name":"PageWidth AvailablePerLine Unbounded","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#t:PageWidth"},{"display_html":"<a href=\"#v:layoutCompact\">layoutCompact</a> :: <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann1 -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:SimpleDocStream\" title=\"Prettyprinter\">SimpleDocStream</a> ann2","name":"layoutCompact","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:layoutCompact"},{"display_html":"<a href=\"#v:layoutPretty\">layoutPretty</a> :: <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:LayoutOptions\" title=\"Data.Text.Prettyprint.Doc.Extra\">LayoutOptions</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:SimpleDocStream\" title=\"Prettyprinter\">SimpleDocStream</a> ann","name":"layoutPretty","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:layoutPretty"},{"display_html":"<a href=\"#v:renderLazy\">renderLazy</a> :: <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:SimpleDocStream\" title=\"Prettyprinter\">SimpleDocStream</a> ann -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>","name":"renderLazy","module":"Data.Text.Prettyprint.Doc.Extra","link":"Data-Text-Prettyprint-Doc-Extra.html#v:renderLazy"},{"display_html":"<a href=\"#v:isNoInline\">isNoInline</a> :: <a href=\"/package/ghc-9.6.7/docs/GHC-Types-Basic.html#t:InlineSpec\" title=\"GHC.Types.Basic\">InlineSpec</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isNoInline","module":"GHC.BasicTypes.Extra","link":"GHC-BasicTypes-Extra.html#v:isNoInline"},{"display_html":"<a href=\"#v:isOpaque\">isOpaque</a> :: <a href=\"/package/ghc-9.6.7/docs/GHC-Types-Basic.html#t:InlineSpec\" title=\"GHC.Types.Basic\">InlineSpec</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isOpaque","module":"GHC.BasicTypes.Extra","link":"GHC-BasicTypes-Extra.html#v:isOpaque"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Name\">Name</a> a = <a href=\"#v:Name\">Name</a> {<ul class=\"subs\"><li><a href=\"#v:nameSort\">nameSort</a> :: <a href=\"Clash-Core-Name.html#t:NameSort\" title=\"Clash.Core.Name\">NameSort</a></li><li><a href=\"#v:nameOcc\">nameOcc</a> :: !<a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a></li><li><a href=\"#v:nameUniq\">nameUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:nameLoc\">nameLoc</a> :: !<a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a></li></ul>}","name":"Name Name nameOcc nameUniq nameSort nameLoc","module":"Clash.Core.Name","link":"Clash-Core-Name.html#t:Name"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:OccName\">OccName</a> = <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"OccName","module":"Clash.Core.Name","link":"Clash-Core-Name.html#t:OccName"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NameSort\">NameSort</a><ul class=\"subs\"><li>= <a href=\"#v:User\">User</a></li><li>| <a href=\"#v:System\">System</a></li><li>| <a href=\"#v:Internal\">Internal</a></li></ul>","name":"NameSort Internal System User","module":"Clash.Core.Name","link":"Clash-Core-Name.html#t:NameSort"},{"display_html":"<a href=\"#v:mkUnsafeInternalName\">mkUnsafeInternalName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a","name":"mkUnsafeInternalName","module":"Clash.Core.Name","link":"Clash-Core-Name.html#v:mkUnsafeInternalName"},{"display_html":"<a href=\"#v:mkUnsafeSystemName\">mkUnsafeSystemName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a","name":"mkUnsafeSystemName","module":"Clash.Core.Name","link":"Clash-Core-Name.html#v:mkUnsafeSystemName"},{"display_html":"<a href=\"#v:appendToName\">appendToName</a> :: <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a","name":"appendToName","module":"Clash.Core.Name","link":"Clash-Core-Name.html#v:appendToName"},{"display_html":"<a href=\"#v:mkUnsafeName\">mkUnsafeName</a> :: <a href=\"Clash-Core-Name.html#t:NameSort\" title=\"Clash.Core.Name\">NameSort</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a","name":"mkUnsafeName","module":"Clash.Core.Name","link":"Clash-Core-Name.html#v:mkUnsafeName"},{"display_html":"<a href=\"#v:noSrcSpan\">noSrcSpan</a> :: <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a>","name":"noSrcSpan","module":"Clash.Core.Name","link":"Clash-Core-Name.html#v:noSrcSpan"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Var\">Var</a> a<ul class=\"subs\"><li>= <a href=\"#v:TyVar\">TyVar</a> { <ul class=\"subs\"><li><a href=\"#v:varName\">varName</a> :: !(<a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a)</li><li><a href=\"#v:varUniq\">varUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:varType\">varType</a> :: <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a></li></ul> }</li><li>| <a href=\"#v:Id\">Id</a> { <ul class=\"subs\"><li><a href=\"#v:varName\">varName</a> :: !(<a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a)</li><li><a href=\"#v:varUniq\">varUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:varType\">varType</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li><a href=\"#v:idScope\">idScope</a> :: <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a></li></ul> }</li></ul>","name":"Var Id TyVar varName varType varUniq idScope","module":"Clash.Core.Var","link":"Clash-Core-Var.html#t:Var"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IdScope\">IdScope</a><ul class=\"subs\"><li>= <a href=\"#v:GlobalId\">GlobalId</a></li><li>| <a href=\"#v:LocalId\">LocalId</a></li></ul>","name":"IdScope GlobalId LocalId","module":"Clash.Core.Var","link":"Clash-Core-Var.html#t:IdScope"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Id\">Id</a> = <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"Id","module":"Clash.Core.Var","link":"Clash-Core-Var.html#t:Id"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:TyVar\">TyVar</a> = <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"TyVar","module":"Clash.Core.Var","link":"Clash-Core-Var.html#t:TyVar"},{"display_html":"<a href=\"#v:mkId\">mkId</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a> -&gt; <a href=\"Clash-Core-Term.html#t:TmName\" title=\"Clash.Core.Term\">TmName</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"mkId","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:mkId"},{"display_html":"<a href=\"#v:mkLocalId\">mkLocalId</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:TmName\" title=\"Clash.Core.Term\">TmName</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"mkLocalId","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:mkLocalId"},{"display_html":"<a href=\"#v:mkGlobalId\">mkGlobalId</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:TmName\" title=\"Clash.Core.Term\">TmName</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"mkGlobalId","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:mkGlobalId"},{"display_html":"<a href=\"#v:mkTyVar\">mkTyVar</a> :: <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a> -&gt; <a href=\"Clash-Core-Type.html#t:TyName\" title=\"Clash.Core.Type\">TyName</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>","name":"mkTyVar","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:mkTyVar"},{"display_html":"<a href=\"#v:setIdScope\">setIdScope</a> :: <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a> -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a","name":"setIdScope","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:setIdScope"},{"display_html":"<a href=\"#v:modifyVarName\">modifyVarName</a> :: (<a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a) -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a","name":"modifyVarName","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:modifyVarName"},{"display_html":"<a href=\"#v:isGlobalId\">isGlobalId</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isGlobalId","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:isGlobalId"},{"display_html":"<a href=\"#v:isLocalId\">isLocalId</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isLocalId","module":"Clash.Core.Var","link":"Clash-Core-Var.html#v:isLocalId"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:DataCon\">DataCon</a> = <a href=\"#v:MkData\">MkData</a> {<ul class=\"subs\"><li><a href=\"#v:dcName\">dcName</a> :: !<a href=\"Clash-Core-DataCon.html#t:DcName\" title=\"Clash.Core.DataCon\">DcName</a></li><li><a href=\"#v:dcUniq\">dcUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:dcTag\">dcTag</a> :: !<a href=\"Clash-Core-DataCon.html#t:ConTag\" title=\"Clash.Core.DataCon\">ConTag</a></li><li><a href=\"#v:dcType\">dcType</a> :: !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li><a href=\"#v:dcUnivTyVars\">dcUnivTyVars</a> :: [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>]</li><li><a href=\"#v:dcExtTyVars\">dcExtTyVars</a> :: [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>]</li><li><a href=\"#v:dcArgTys\">dcArgTys</a> :: [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]</li><li><a href=\"#v:dcArgStrict\">dcArgStrict</a> :: [<a href=\"Clash-Core-DataCon.html#t:DcStrictness\" title=\"Clash.Core.DataCon\">DcStrictness</a>]</li><li><a href=\"#v:dcFieldLabels\">dcFieldLabels</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li></ul>}","name":"DataCon MkData dcTag dcUniq dcType dcArgTys dcName dcUnivTyVars dcExtTyVars dcArgStrict dcFieldLabels","module":"Clash.Core.DataCon","link":"Clash-Core-DataCon.html#t:DataCon"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:DcName\">DcName</a> = <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a>","name":"DcName","module":"Clash.Core.DataCon","link":"Clash-Core-DataCon.html#t:DcName"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ConTag\">ConTag</a> = <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"ConTag","module":"Clash.Core.DataCon","link":"Clash-Core-DataCon.html#t:ConTag"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:DcStrictness\">DcStrictness</a><ul class=\"subs\"><li>= <a href=\"#v:Strict\">Strict</a></li><li>| <a href=\"#v:Lazy\">Lazy</a></li></ul>","name":"DcStrictness Strict Lazy","module":"Clash.Core.DataCon","link":"Clash-Core-DataCon.html#t:DcStrictness"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TyCon\">TyCon</a><ul class=\"subs\"><li>= <a href=\"#v:AlgTyCon\">AlgTyCon</a> { <ul class=\"subs\"><li><a href=\"#v:tyConUniq\">tyConUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:tyConName\">tyConName</a> :: !<a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a></li><li><a href=\"#v:tyConKind\">tyConKind</a> :: !<a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a></li><li><a href=\"#v:tyConArity\">tyConArity</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:algTcRhs\">algTcRhs</a> :: !<a href=\"Clash-Core-TyCon.html#t:AlgTyConRhs\" title=\"Clash.Core.TyCon\">AlgTyConRhs</a></li><li><a href=\"#v:isClassTc\">isClassTc</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul> }</li><li>| <a href=\"#v:PromotedDataCon\">PromotedDataCon</a> { <ul class=\"subs\"><li><a href=\"#v:tyConUniq\">tyConUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:tyConName\">tyConName</a> :: !<a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a></li><li><a href=\"#v:tyConKind\">tyConKind</a> :: !<a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a></li><li><a href=\"#v:tyConArity\">tyConArity</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:tyConData\">tyConData</a> :: !<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a></li></ul> }</li><li>| <a href=\"#v:FunTyCon\">FunTyCon</a> { <ul class=\"subs\"><li><a href=\"#v:tyConUniq\">tyConUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:tyConName\">tyConName</a> :: !<a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a></li><li><a href=\"#v:tyConKind\">tyConKind</a> :: !<a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a></li><li><a href=\"#v:tyConArity\">tyConArity</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:tyConSubst\">tyConSubst</a> :: [([<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>], <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)]</li></ul> }</li><li>| <a href=\"#v:PrimTyCon\">PrimTyCon</a> { <ul class=\"subs\"><li><a href=\"#v:tyConUniq\">tyConUniq</a> :: !<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li><li><a href=\"#v:tyConName\">tyConName</a> :: !<a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a></li><li><a href=\"#v:tyConKind\">tyConKind</a> :: !<a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a></li><li><a href=\"#v:tyConArity\">tyConArity</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li></ul> }</li></ul>","name":"TyCon AlgTyCon PrimTyCon PromotedDataCon FunTyCon tyConName tyConKind tyConArity algTcRhs tyConUniq isClassTc tyConData tyConSubst","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#t:TyCon"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:TyConName\">TyConName</a> = <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> <a href=\"Clash-Core-TyCon.html#t:TyCon\" title=\"Clash.Core.TyCon\">TyCon</a>","name":"TyConName","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#t:TyConName"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:TyConMap\">TyConMap</a> = <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> <a href=\"Clash-Core-TyCon.html#t:TyCon\" title=\"Clash.Core.TyCon\">TyCon</a>","name":"TyConMap","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#t:TyConMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:AlgTyConRhs\">AlgTyConRhs</a><ul class=\"subs\"><li>= <a href=\"#v:DataTyCon\">DataTyCon</a> { <ul class=\"subs\"><li><a href=\"#v:dataCons\">dataCons</a> :: [<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a>]</li></ul> }</li><li>| <a href=\"#v:NewTyCon\">NewTyCon</a> { <ul class=\"subs\"><li><a href=\"#v:dataCon\">dataCon</a> :: !<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a></li><li><a href=\"#v:ntEtadRhs\">ntEtadRhs</a> :: ([<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>], <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)</li></ul> }</li></ul>","name":"AlgTyConRhs DataTyCon NewTyCon dataCon dataCons ntEtadRhs","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#t:AlgTyConRhs"},{"display_html":"<a href=\"#v:mkKindTyCon\">mkKindTyCon</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyCon\" title=\"Clash.Core.TyCon\">TyCon</a>","name":"mkKindTyCon","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#v:mkKindTyCon"},{"display_html":"<a href=\"#v:isTupleTyConLike\">isTupleTyConLike</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isTupleTyConLike","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#v:isTupleTyConLike"},{"display_html":"<a href=\"#v:isPrimTc\">isPrimTc</a> :: <a href=\"Clash-Core-TyCon.html#t:TyCon\" title=\"Clash.Core.TyCon\">TyCon</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isPrimTc","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#v:isPrimTc"},{"display_html":"<a href=\"#v:isNewTypeTc\">isNewTypeTc</a> :: <a href=\"Clash-Core-TyCon.html#t:TyCon\" title=\"Clash.Core.TyCon\">TyCon</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isNewTypeTc","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#v:isNewTypeTc"},{"display_html":"<a href=\"#v:isPromotedDc\">isPromotedDc</a> :: <a href=\"Clash-Core-TyCon.html#t:TyCon\" title=\"Clash.Core.TyCon\">TyCon</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isPromotedDc","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#v:isPromotedDc"},{"display_html":"<a href=\"#v:tyConDataCons\">tyConDataCons</a> :: <a href=\"Clash-Core-TyCon.html#t:TyCon\" title=\"Clash.Core.TyCon\">TyCon</a> -&gt; [<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a>]","name":"tyConDataCons","module":"Clash.Core.TyCon","link":"Clash-Core-TyCon.html#v:tyConDataCons"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"#t:MonadUnique\">MonadUnique</a> m <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:getUniqueM\">getUniqueM</a> :: m <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a></li></ul>","name":"MonadUnique getUniqueM","module":"Clash.Util","link":"Clash-Util.html#t:MonadUnique"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ClashException\">ClashException</a> = <a href=\"#v:ClashException\">ClashException</a> <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>)","name":"ClashException ClashException","module":"Clash.Util","link":"Clash-Util.html#t:ClashException"},{"display_html":"<a href=\"#v:assertPanic\">assertPanic</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; a","name":"assertPanic","module":"Clash.Util","link":"Clash-Util.html#v:assertPanic"},{"display_html":"<a href=\"#v:pprDebugAndThen\">pprDebugAndThen</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; a) -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; a","name":"pprDebugAndThen","module":"Clash.Util","link":"Clash-Util.html#v:pprDebugAndThen"},{"display_html":"<a href=\"#v:pprPanic\">pprPanic</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; a","name":"pprPanic","module":"Clash.Util","link":"Clash-Util.html#v:pprPanic"},{"display_html":"<a href=\"#v:callStackDoc\">callStackDoc</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann","name":"callStackDoc","module":"Clash.Util","link":"Clash-Util.html#v:callStackDoc"},{"display_html":"<a href=\"#v:assertPprPanic\">assertPprPanic</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; a","name":"assertPprPanic","module":"Clash.Util","link":"Clash-Util.html#v:assertPprPanic"},{"display_html":"<a href=\"#v:pprTrace\">pprTrace</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; a -&gt; a","name":"pprTrace","module":"Clash.Util","link":"Clash-Util.html#v:pprTrace"},{"display_html":"<a href=\"#v:pprTraceDebug\">pprTraceDebug</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; a -&gt; a","name":"pprTraceDebug","module":"Clash.Util","link":"Clash-Util.html#v:pprTraceDebug"},{"display_html":"<a href=\"#v:warnPprTrace\">warnPprTrace</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ann -&gt; a -&gt; a","name":"warnPprTrace","module":"Clash.Util","link":"Clash-Util.html#v:warnPprTrace"},{"display_html":"<a href=\"#v:clogBase\">clogBase</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"clogBase","module":"Clash.Util","link":"Clash-Util.html#v:clogBase"},{"display_html":"<a href=\"#v:flogBase\">flogBase</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"flogBase","module":"Clash.Util","link":"Clash-Util.html#v:flogBase"},{"display_html":"<a href=\"#v:indexNote\">indexNote</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; [a] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; a","name":"indexNote","module":"Clash.Util","link":"Clash-Util.html#v:indexNote"},{"display_html":"<a href=\"#v:curLoc\">curLoc</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Q\" title=\"Language.Haskell.TH.Syntax\">Q</a> <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Exp\" title=\"Language.Haskell.TH.Syntax\">Exp</a>","name":"curLoc","module":"Clash.Util","link":"Clash-Util.html#v:curLoc"},{"display_html":"<a href=\"#v:makeCached\">makeCached</a> :: (<a href=\"/package/adjunctions-4.4.3/docs/Control-Monad-Representable-State.html#t:MonadState\" title=\"Control.Monad.Representable.State\">MonadState</a> s m, <a href=\"/package/hashable-1.5.0.0/docs/Data-Hashable.html#t:Hashable\" title=\"Data.Hashable\">Hashable</a> k, <a href=\"/package/base-4.18.3.0/docs/Data-Eq.html#t:Eq\" title=\"Data.Eq\">Eq</a> k) =&gt; k -&gt; <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s (<a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> k v) -&gt; m v -&gt; m v","name":"makeCached","module":"Clash.Util","link":"Clash-Util.html#v:makeCached"},{"display_html":"<a href=\"#v:thenCompare\">thenCompare</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Ord.html#t:Ordering\" title=\"Data.Ord\">Ordering</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Ord.html#t:Ordering\" title=\"Data.Ord\">Ordering</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Ord.html#t:Ordering\" title=\"Data.Ord\">Ordering</a>","name":"thenCompare","module":"Clash.Util","link":"Clash-Util.html#v:thenCompare"},{"display_html":"<a href=\"#v:reportTimeDiff\">reportTimeDiff</a> :: <a href=\"/package/time-1.12.2/docs/Data-Time-Clock.html#t:UTCTime\" title=\"Data.Time.Clock\">UTCTime</a> -&gt; <a href=\"/package/time-1.12.2/docs/Data-Time-Clock.html#t:UTCTime\" title=\"Data.Time.Clock\">UTCTime</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"reportTimeDiff","module":"Clash.Util","link":"Clash-Util.html#v:reportTimeDiff"},{"display_html":"<a href=\"#v:wantedLanguageExtensions\">wantedLanguageExtensions</a> :: [<a href=\"/package/ghc-boot-th-9.6.7/docs/GHC-LanguageExtensions-Type.html#t:Extension\" title=\"GHC.LanguageExtensions.Type\">Extension</a>]","name":"wantedLanguageExtensions","module":"Clash.Util","link":"Clash-Util.html#v:wantedLanguageExtensions"},{"display_html":"<a href=\"#v:unwantedLanguageExtensions\">unwantedLanguageExtensions</a> :: [<a href=\"/package/ghc-boot-th-9.6.7/docs/GHC-LanguageExtensions-Type.html#t:Extension\" title=\"GHC.LanguageExtensions.Type\">Extension</a>]","name":"unwantedLanguageExtensions","module":"Clash.Util","link":"Clash-Util.html#v:unwantedLanguageExtensions"},{"display_html":"<a href=\"#v:makeCachedU\">makeCachedU</a> :: (<a href=\"/package/adjunctions-4.4.3/docs/Control-Monad-Representable-State.html#t:MonadState\" title=\"Control.Monad.Representable.State\">MonadState</a> s m, <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> k) =&gt; k -&gt; <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s (<a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> v) -&gt; m v -&gt; m v","name":"makeCachedU","module":"Clash.Util","link":"Clash-Util.html#v:makeCachedU"},{"display_html":"<a href=\"#v:namePat\">namePat</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name\" title=\"Language.Haskell.TH.Syntax\">Name</a> -&gt; <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Q\" title=\"Language.Haskell.TH.Syntax\">Q</a> <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Pat\" title=\"Language.Haskell.TH.Syntax\">Pat</a>","name":"namePat","module":"Clash.Util","link":"Clash-Util.html#v:namePat"},{"display_html":"<a href=\"#v:makeCachedO\">makeCachedO</a> :: (<a href=\"/package/adjunctions-4.4.3/docs/Control-Monad-Representable-State.html#t:MonadState\" title=\"Control.Monad.Representable.State\">MonadState</a> s m, <a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> k) =&gt; k -&gt; <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s (<a href=\"/package/ordered-containers-0.2.4/docs/Data-Map-Ordered-Strict.html#t:OMap\" title=\"Data.Map.Ordered.Strict\">OMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> v) -&gt; m v -&gt; m v","name":"makeCachedO","module":"Clash.Util","link":"Clash-Util.html#v:makeCachedO"},{"display_html":"<a href=\"#v:indexNote-39-\">indexNote'</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; [a] -&gt; a","name":"indexNote'","module":"Clash.Util","link":"Clash-Util.html#v:indexNote-39-"},{"display_html":"<a href=\"#v:clashLibVersion\">clashLibVersion</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Version.html#t:Version\" title=\"Data.Version\">Version</a>","name":"clashLibVersion","module":"Clash.Util","link":"Clash-Util.html#v:clashLibVersion"},{"display_html":"<a href=\"#v:pkgIdFromTypeable\">pkgIdFromTypeable</a> :: <a href=\"/package/base-4.18.3.0/docs/Type-Reflection.html#t:Typeable\" title=\"Type.Reflection\">Typeable</a> a =&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"pkgIdFromTypeable","module":"Clash.Util","link":"Clash-Util.html#v:pkgIdFromTypeable"},{"display_html":"<a href=\"#v:orElses\">orElses</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a","name":"orElses","module":"Clash.Util","link":"Clash-Util.html#v:orElses"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SrcSpan\">SrcSpan</a>","name":"SrcSpan","module":"Clash.Util","link":"Clash-Util.html#t:SrcSpan"},{"display_html":"<a href=\"#v:noSrcSpan\">noSrcSpan</a> :: <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a>","name":"noSrcSpan","module":"Clash.Util","link":"Clash-Util.html#v:noSrcSpan"},{"display_html":"<a href=\"#v:hoistMaybe\">hoistMaybe</a> :: <span class=\"keyword\">forall</span> (m :: <a href=\"/package/base-4.18.3.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a>) b. <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> b -&gt; <a href=\"/package/ghc-9.6.7/docs/GHC-Data-Maybe.html#t:MaybeT\" title=\"GHC.Data.Maybe\">MaybeT</a> m b","name":"hoistMaybe","module":"Clash.Util","link":"Clash-Util.html#v:hoistMaybe"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Type\">Type</a><ul class=\"subs\"><li>= <a href=\"#v:VarTy\">VarTy</a> !<a href=\"Clash-Core-Type.html#t:TyVar\" title=\"Clash.Core.Type\">TyVar</a></li><li>| <a href=\"#v:ConstTy\">ConstTy</a> !<a href=\"Clash-Core-Type.html#t:ConstTy\" title=\"Clash.Core.Type\">ConstTy</a></li><li>| <a href=\"#v:ForAllTy\">ForAllTy</a> !<a href=\"Clash-Core-Type.html#t:TyVar\" title=\"Clash.Core.Type\">TyVar</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:AppTy\">AppTy</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:LitTy\">LitTy</a> !<a href=\"Clash-Core-Type.html#t:LitTy\" title=\"Clash.Core.Type\">LitTy</a></li><li>| <a href=\"#v:AnnType\">AnnType</a> [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li></ul>","name":"Type AnnType AppTy ForAllTy LitTy ConstTy VarTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:Type"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TypeView\">TypeView</a><ul class=\"subs\"><li>= <a href=\"#v:FunTy\">FunTy</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:TyConApp\">TyConApp</a> !<a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]</li><li>| <a href=\"#v:OtherType\">OtherType</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li></ul>","name":"TypeView TyConApp FunTy OtherType","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:TypeView"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ConstTy\">ConstTy</a><ul class=\"subs\"><li>= <a href=\"#v:TyCon\">TyCon</a> !<a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a></li><li>| <a href=\"#v:Arrow\">Arrow</a></li></ul>","name":"ConstTy TyCon Arrow","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:ConstTy"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:LitTy\">LitTy</a><ul class=\"subs\"><li>= <a href=\"#v:NumTy\">NumTy</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:SymTy\">SymTy</a> !<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li>| <a href=\"#v:CharTy\">CharTy</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a></li></ul>","name":"LitTy SymTy NumTy CharTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:LitTy"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Kind\">Kind</a> = <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"Kind","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:Kind"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:KindOrType\">KindOrType</a> = <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"KindOrType","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:KindOrType"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:KiName\">KiName</a> = <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a>","name":"KiName","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:KiName"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:TyName\">TyName</a> = <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"TyName","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:TyName"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:TyVar\">TyVar</a> = <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"TyVar","module":"Clash.Core.Type","link":"Clash-Core-Type.html#t:TyVar"},{"display_html":"<a href=\"#v:tyView\">tyView</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:TypeView\" title=\"Clash.Core.Type\">TypeView</a>","name":"tyView","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:tyView"},{"display_html":"<a href=\"#v:coreView\">coreView</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"coreView","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:coreView"},{"display_html":"<a href=\"#v:coreView1\">coreView1</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"coreView1","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:coreView1"},{"display_html":"<a href=\"#v:mkTyConTy\">mkTyConTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"mkTyConTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:mkTyConTy"},{"display_html":"<a href=\"#v:mkFunTy\">mkFunTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"mkFunTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:mkFunTy"},{"display_html":"<a href=\"#v:mkPolyFunTy\">mkPolyFunTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Type.html#t:TyVar\" title=\"Clash.Core.Type\">TyVar</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"mkPolyFunTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:mkPolyFunTy"},{"display_html":"<a href=\"#v:mkTyConApp\">mkTyConApp</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"mkTyConApp","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:mkTyConApp"},{"display_html":"<a href=\"#v:splitFunTy\">splitFunTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)","name":"splitFunTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:splitFunTy"},{"display_html":"<a href=\"#v:splitFunTys\">splitFunTys</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; ([<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>], <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)","name":"splitFunTys","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:splitFunTys"},{"display_html":"<a href=\"#v:splitFunForallTy\">splitFunForallTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; ([<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Type.html#t:TyVar\" title=\"Clash.Core.Type\">TyVar</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>], <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)","name":"splitFunForallTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:splitFunForallTy"},{"display_html":"<a href=\"#v:splitCoreFunForallTy\">splitCoreFunForallTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; ([<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Type.html#t:TyVar\" title=\"Clash.Core.Type\">TyVar</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>], <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)","name":"splitCoreFunForallTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:splitCoreFunForallTy"},{"display_html":"<a href=\"#v:splitTyConAppM\">splitTyConAppM</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a>, [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>])","name":"splitTyConAppM","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:splitTyConAppM"},{"display_html":"<a href=\"#v:isPolyFunTy\">isPolyFunTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isPolyFunTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:isPolyFunTy"},{"display_html":"<a href=\"#v:isPolyFunCoreTy\">isPolyFunCoreTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isPolyFunCoreTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:isPolyFunCoreTy"},{"display_html":"<a href=\"#v:isPolyTy\">isPolyTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isPolyTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:isPolyTy"},{"display_html":"<a href=\"#v:isTypeFamilyApplication\">isTypeFamilyApplication</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isTypeFamilyApplication","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:isTypeFamilyApplication"},{"display_html":"<a href=\"#v:isFunTy\">isFunTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isFunTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:isFunTy"},{"display_html":"<a href=\"#v:isClassTy\">isClassTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isClassTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:isClassTy"},{"display_html":"<a href=\"#v:applyFunTy\">applyFunTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"applyFunTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:applyFunTy"},{"display_html":"<a href=\"#v:findFunSubst\">findFunSubst</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; [([<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>], <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)] -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"findFunSubst","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:findFunSubst"},{"display_html":"<a href=\"#v:reduceTypeFamily\">reduceTypeFamily</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"reduceTypeFamily","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:reduceTypeFamily"},{"display_html":"<a href=\"#v:isIntegerTy\">isIntegerTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isIntegerTy","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:isIntegerTy"},{"display_html":"<a href=\"#v:normalizeType\">normalizeType</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"normalizeType","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:normalizeType"},{"display_html":"<a href=\"#v:varAttrs\">varAttrs</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]","name":"varAttrs","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:varAttrs"},{"display_html":"<a href=\"#v:typeAttrs\">typeAttrs</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]","name":"typeAttrs","module":"Clash.Core.Type","link":"Clash-Core-Type.html#v:typeAttrs"},{"display_html":"<a href=\"#v:liftedTypeKind\">liftedTypeKind</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"liftedTypeKind","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:liftedTypeKind"},{"display_html":"<a href=\"#v:typeNatKind\">typeNatKind</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"typeNatKind","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:typeNatKind"},{"display_html":"<a href=\"#v:typeSymbolKind\">typeSymbolKind</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"typeSymbolKind","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:typeSymbolKind"},{"display_html":"<a href=\"#v:intPrimTy\">intPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"intPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:intPrimTy"},{"display_html":"<a href=\"#v:integerPrimTy\">integerPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"integerPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:integerPrimTy"},{"display_html":"<a href=\"#v:charPrimTy\">charPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"charPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:charPrimTy"},{"display_html":"<a href=\"#v:stringPrimTy\">stringPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"stringPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:stringPrimTy"},{"display_html":"<a href=\"#v:wordPrimTy\">wordPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"wordPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:wordPrimTy"},{"display_html":"<a href=\"#v:int64PrimTy\">int64PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"int64PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:int64PrimTy"},{"display_html":"<a href=\"#v:word64PrimTy\">word64PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"word64PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:word64PrimTy"},{"display_html":"<a href=\"#v:int8PrimTy\">int8PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"int8PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:int8PrimTy"},{"display_html":"<a href=\"#v:int16PrimTy\">int16PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"int16PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:int16PrimTy"},{"display_html":"<a href=\"#v:int32PrimTy\">int32PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"int32PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:int32PrimTy"},{"display_html":"<a href=\"#v:word8PrimTy\">word8PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"word8PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:word8PrimTy"},{"display_html":"<a href=\"#v:word16PrimTy\">word16PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"word16PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:word16PrimTy"},{"display_html":"<a href=\"#v:word32PrimTy\">word32PrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"word32PrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:word32PrimTy"},{"display_html":"<a href=\"#v:floatPrimTy\">floatPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"floatPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:floatPrimTy"},{"display_html":"<a href=\"#v:doublePrimTy\">doublePrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"doublePrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:doublePrimTy"},{"display_html":"<a href=\"#v:naturalPrimTy\">naturalPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"naturalPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:naturalPrimTy"},{"display_html":"<a href=\"#v:byteArrayPrimTy\">byteArrayPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"byteArrayPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:byteArrayPrimTy"},{"display_html":"<a href=\"#v:eqPrimTy\">eqPrimTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"eqPrimTy","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:eqPrimTy"},{"display_html":"<a href=\"#v:tysPrimMap\">tysPrimMap</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a>","name":"tysPrimMap","module":"Clash.Core.TysPrim","link":"Clash-Core-TysPrim.html#v:tysPrimMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Term\">Term</a> <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:Var\">Var</a> !<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li><a href=\"#v:Data\">Data</a> !<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a></li><li><a href=\"#v:Literal\">Literal</a> !<a href=\"Clash-Core-Literal.html#t:Literal\" title=\"Clash.Core.Literal\">Literal</a></li><li><a href=\"#v:Prim\">Prim</a> !<a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a></li><li><a href=\"#v:Lam\">Lam</a> !<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li><a href=\"#v:TyLam\">TyLam</a> !<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li><a href=\"#v:App\">App</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li><a href=\"#v:TyApp\">TyApp</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li><a href=\"#v:Let\">Let</a> !(<a href=\"Clash-Core-Term.html#t:Bind\" title=\"Clash.Core.Term\">Bind</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li><a href=\"#v:Case\">Case</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> [<a href=\"Clash-Core-Term.html#t:Alt\" title=\"Clash.Core.Term\">Alt</a>]</li><li><a href=\"#v:Cast\">Cast</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li><a href=\"#v:Tick\">Tick</a> !<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li><span class=\"keyword\">pattern</span> <a href=\"#v:Letrec\">Letrec</a> :: [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li></ul>","name":"Term Letrec Data App Var Case Literal Tick Lam Let Cast Prim TyApp TyLam","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:Term"},{"display_html":"<a href=\"#v:mkAbstraction\">mkAbstraction</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkAbstraction","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:mkAbstraction"},{"display_html":"<a href=\"#v:mkTyLams\">mkTyLams</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkTyLams","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:mkTyLams"},{"display_html":"<a href=\"#v:mkLams\">mkLams</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkLams","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:mkLams"},{"display_html":"<a href=\"#v:mkApps\">mkApps</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkApps","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:mkApps"},{"display_html":"<a href=\"#v:mkTyApps\">mkTyApps</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkTyApps","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:mkTyApps"},{"display_html":"<a href=\"#v:mkTmApps\">mkTmApps</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkTmApps","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:mkTmApps"},{"display_html":"<a href=\"#v:mkTicks\">mkTicks</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkTicks","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:mkTicks"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:TmName\">TmName</a> = <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"TmName","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:TmName"},{"display_html":"<a href=\"#v:varToId\">varToId</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"varToId","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:varToId"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Bind\">Bind</a> a<ul class=\"subs\"><li>= <a href=\"#v:NonRec\">NonRec</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> a</li><li>| <a href=\"#v:Rec\">Rec</a> [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, a)]</li></ul>","name":"Bind NonRec Rec","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:Bind"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:LetBinding\">LetBinding</a> = (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"LetBinding","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:LetBinding"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Pat\">Pat</a><ul class=\"subs\"><li>= <a href=\"#v:DataPat\">DataPat</a> !<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>]</li><li>| <a href=\"#v:LitPat\">LitPat</a> !<a href=\"Clash-Core-Literal.html#t:Literal\" title=\"Clash.Core.Literal\">Literal</a></li><li>| <a href=\"#v:DefaultPat\">DefaultPat</a></li></ul>","name":"Pat LitPat DataPat DefaultPat","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:Pat"},{"display_html":"<a href=\"#v:patIds\">patIds</a> :: <a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a> -&gt; ([<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>], [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>])","name":"patIds","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:patIds"},{"display_html":"<a href=\"#v:patVars\">patVars</a> :: <a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a]","name":"patVars","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:patVars"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Alt\">Alt</a> = (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"Alt","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:Alt"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TickInfo\">TickInfo</a><ul class=\"subs\"><li>= <a href=\"#v:SrcSpan\">SrcSpan</a> !<a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a></li><li>| <a href=\"#v:NameMod\">NameMod</a> !<a href=\"Clash-Core-Term.html#t:NameMod\" title=\"Clash.Core.Term\">NameMod</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:DeDup\">DeDup</a></li><li>| <a href=\"#v:NoDeDup\">NoDeDup</a></li></ul>","name":"TickInfo SrcSpan NameMod DeDup NoDeDup","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:TickInfo"},{"display_html":"<a href=\"#v:stripTicks\">stripTicks</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"stripTicks","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:stripTicks"},{"display_html":"<a href=\"#v:stripAllTicks\">stripAllTicks</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"stripAllTicks","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:stripAllTicks"},{"display_html":"<a href=\"#v:partitionTicks\">partitionTicks</a> :: [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>] -&gt; ([<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>], [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>])","name":"partitionTicks","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:partitionTicks"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NameMod\">NameMod</a><ul class=\"subs\"><li>= <a href=\"#v:PrefixName\">PrefixName</a></li><li>| <a href=\"#v:SuffixName\">SuffixName</a></li><li>| <a href=\"#v:SuffixNameP\">SuffixNameP</a></li><li>| <a href=\"#v:SetName\">SetName</a></li></ul>","name":"NameMod PrefixName SuffixName SuffixNameP SetName","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:NameMod"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PrimInfo\">PrimInfo</a> = <a href=\"#v:PrimInfo\">PrimInfo</a> {<ul class=\"subs\"><li><a href=\"#v:primName\">primName</a> :: !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:primType\">primType</a> :: !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li><a href=\"#v:primWorkInfo\">primWorkInfo</a> :: !<a href=\"Clash-Core-Term.html#t:WorkInfo\" title=\"Clash.Core.Term\">WorkInfo</a></li><li><a href=\"#v:primMultiResult\">primMultiResult</a> :: !<a href=\"Clash-Core-Term.html#t:IsMultiPrim\" title=\"Clash.Core.Term\">IsMultiPrim</a></li><li><a href=\"#v:primUnfolding\">primUnfolding</a> :: !<a href=\"Clash-Core-Term.html#t:PrimUnfolding\" title=\"Clash.Core.Term\">PrimUnfolding</a></li></ul>}","name":"PrimInfo PrimInfo primName primMultiResult primType primWorkInfo primUnfolding","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:PrimInfo"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PrimUnfolding\">PrimUnfolding</a><ul class=\"subs\"><li>= <a href=\"#v:NoUnfolding\">NoUnfolding</a></li><li>| <a href=\"#v:Unfolding\">Unfolding</a> !<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li></ul>","name":"PrimUnfolding Unfolding NoUnfolding","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:PrimUnfolding"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IsMultiPrim\">IsMultiPrim</a><ul class=\"subs\"><li>= <a href=\"#v:SingleResult\">SingleResult</a></li><li>| <a href=\"#v:MultiResult\">MultiResult</a></li></ul>","name":"IsMultiPrim SingleResult MultiResult","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:IsMultiPrim"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:MultiPrimInfo\">MultiPrimInfo</a> = <a href=\"#v:MultiPrimInfo\">MultiPrimInfo</a> {<ul class=\"subs\"><li><a href=\"#v:mpi_primInfo\">mpi_primInfo</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a></li><li><a href=\"#v:mpi_resultDc\">mpi_resultDc</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a></li><li><a href=\"#v:mpi_resultTypes\">mpi_resultTypes</a> :: [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]</li></ul>}","name":"MultiPrimInfo MultiPrimInfo mpi_resultTypes mpi_primInfo mpi_resultDc","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:MultiPrimInfo"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:WorkInfo\">WorkInfo</a><ul class=\"subs\"><li>= <a href=\"#v:WorkConstant\">WorkConstant</a></li><li>| <a href=\"#v:WorkNever\">WorkNever</a></li><li>| <a href=\"#v:WorkVariable\">WorkVariable</a></li><li>| <a href=\"#v:WorkAlways\">WorkAlways</a></li><li>| <a href=\"#v:WorkIdentity\">WorkIdentity</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]</li></ul>","name":"WorkInfo WorkConstant WorkNever WorkVariable WorkAlways WorkIdentity","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:WorkInfo"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:CoreContext\">CoreContext</a><ul class=\"subs\"><li>= <a href=\"#v:AppFun\">AppFun</a></li><li>| <a href=\"#v:AppArg\">AppArg</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>))</li><li>| <a href=\"#v:TyAppC\">TyAppC</a></li><li>| <a href=\"#v:LetBinding\">LetBinding</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>]</li><li>| <a href=\"#v:LetBody\">LetBody</a> [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>]</li><li>| <a href=\"#v:LamBody\">LamBody</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li>| <a href=\"#v:TyLamBody\">TyLamBody</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a></li><li>| <a href=\"#v:CaseAlt\">CaseAlt</a> <a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a></li><li>| <a href=\"#v:CaseScrut\">CaseScrut</a></li><li>| <a href=\"#v:CastBody\">CastBody</a></li><li>| <a href=\"#v:TickC\">TickC</a> <a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a></li></ul>","name":"CoreContext CaseAlt LetBinding AppFun AppArg TyAppC LetBody LamBody TyLamBody CaseScrut CastBody TickC","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:CoreContext"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Context\">Context</a> = [<a href=\"Clash-Core-Term.html#t:CoreContext\" title=\"Clash.Core.Term\">CoreContext</a>]","name":"Context","module":"Clash.Core.Term","link":"Clash-Core-Term.html#t:Context"},{"display_html":"<a href=\"#v:isLambdaBodyCtx\">isLambdaBodyCtx</a> :: <a href=\"Clash-Core-Term.html#t:CoreContext\" title=\"Clash.Core.Term\">CoreContext</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isLambdaBodyCtx","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:isLambdaBodyCtx"},{"display_html":"<a href=\"#v:isTickCtx\">isTickCtx</a> :: <a href=\"Clash-Core-Term.html#t:CoreContext\" title=\"Clash.Core.Term\">CoreContext</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isTickCtx","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:isTickCtx"},{"display_html":"<a href=\"#v:walkTerm\">walkTerm</a> :: <span class=\"keyword\">forall</span> a. (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a) -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [a]","name":"walkTerm","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:walkTerm"},{"display_html":"<a href=\"#v:collectArgs\">collectArgs</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>])","name":"collectArgs","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:collectArgs"},{"display_html":"<a href=\"#v:collectArgsTicks\">collectArgsTicks</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>], [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>])","name":"collectArgsTicks","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:collectArgsTicks"},{"display_html":"<a href=\"#v:collectTicks\">collectTicks</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>])","name":"collectTicks","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:collectTicks"},{"display_html":"<a href=\"#v:collectTermIds\">collectTermIds</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>]","name":"collectTermIds","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:collectTermIds"},{"display_html":"<a href=\"#v:collectBndrs\">collectBndrs</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; ([<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>], <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"collectBndrs","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:collectBndrs"},{"display_html":"<a href=\"#v:primArg\">primArg</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)","name":"primArg","module":"Clash.Core.Term","link":"Clash-Core-Term.html#v:primArg"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:BlackBoxMeta\">BlackBoxMeta</a> = <a href=\"#v:BlackBoxMeta\">BlackBoxMeta</a> {<ul class=\"subs\"><li><a href=\"#v:bbOutputUsage\">bbOutputUsage</a> :: <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a></li><li><a href=\"#v:bbKind\">bbKind</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:TemplateKind\" title=\"Clash.Netlist.BlackBox.Types\">TemplateKind</a></li><li><a href=\"#v:bbLibrary\">bbLibrary</a> :: [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>]</li><li><a href=\"#v:bbImports\">bbImports</a> :: [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>]</li><li><a href=\"#v:bbFunctionPlurality\">bbFunctionPlurality</a> :: [(<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)]</li><li><a href=\"#v:bbIncludes\">bbIncludes</a> :: [((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>), <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>)]</li><li><a href=\"#v:bbRenderVoid\">bbRenderVoid</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:RenderVoid\" title=\"Clash.Netlist.BlackBox.Types\">RenderVoid</a></li><li><a href=\"#v:bbResultNames\">bbResultNames</a> :: [<a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>]</li><li><a href=\"#v:bbResultInits\">bbResultInits</a> :: [<a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>]</li></ul>}","name":"BlackBoxMeta BlackBoxMeta bbResultNames bbKind bbOutputUsage bbLibrary bbImports bbFunctionPlurality bbIncludes bbRenderVoid bbResultInits","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:BlackBoxMeta"},{"display_html":"<a href=\"#v:emptyBlackBoxMeta\">emptyBlackBoxMeta</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxMeta\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxMeta</a>","name":"emptyBlackBoxMeta","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#v:emptyBlackBoxMeta"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:BlackBoxFunction\">BlackBoxFunction</a> = <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> (<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxMeta\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxMeta</a>, <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>))","name":"BlackBoxFunction","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:BlackBoxTemplate\">BlackBoxTemplate</a> = [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]","name":"BlackBoxTemplate","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TemplateKind\">TemplateKind</a><ul class=\"subs\"><li>= <a href=\"#v:TDecl\">TDecl</a></li><li>| <a href=\"#v:TExpr\">TExpr</a></li></ul>","name":"TemplateKind TExpr TDecl","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:TemplateKind"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Element\">Element</a><ul class=\"subs\"><li>= <a href=\"#v:Text\">Text</a> !<a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a></li><li>| <a href=\"#v:Component\">Component</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Decl\" title=\"Clash.Netlist.BlackBox.Types\">Decl</a></li><li>| <a href=\"#v:Result\">Result</a></li><li>| <a href=\"#v:Arg\">Arg</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:ArgGen\">ArgGen</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Const\">Const</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Lit\">Lit</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Name\">Name</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:ToVar\">ToVar</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Sym\">Sym</a> !<a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Typ\">Typ</a> !(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li>| <a href=\"#v:TypM\">TypM</a> !(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li>| <a href=\"#v:Err\">Err</a> !(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li>| <a href=\"#v:TypElem\">TypElem</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:CompName\">CompName</a></li><li>| <a href=\"#v:IncludeName\">IncludeName</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IndexType\">IndexType</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:Size\">Size</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:Length\">Length</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:Depth\">Depth</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:MaxIndex\">MaxIndex</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:FilePath\">FilePath</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:Template\">Template</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]</li><li>| <a href=\"#v:Gen\">Gen</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li>| <a href=\"#v:IF\">IF</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]</li><li>| <a href=\"#v:And\">And</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]</li><li>| <a href=\"#v:IW64\">IW64</a></li><li>| <a href=\"#v:CmpLE\">CmpLE</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:HdlSyn\">HdlSyn</a> <a href=\"Clash-Netlist-BlackBox-Types.html#t:HdlSyn\" title=\"Clash.Netlist.BlackBox.Types\">HdlSyn</a></li><li>| <a href=\"#v:BV\">BV</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a></li><li>| <a href=\"#v:Sel\">Sel</a> !<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsLit\">IsLit</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsVar\">IsVar</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsScalar\">IsScalar</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsActiveHigh\">IsActiveHigh</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Tag\">Tag</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Period\">Period</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:LongestPeriod\">LongestPeriod</a></li><li>| <a href=\"#v:ActiveEdge\">ActiveEdge</a> !ActiveEdge !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsSync\">IsSync</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsInitDefined\">IsInitDefined</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsActiveEnable\">IsActiveEnable</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:IsUndefined\">IsUndefined</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:StrCmp\">StrCmp</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:OutputUsage\">OutputUsage</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Vars\">Vars</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:GenSym\">GenSym</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Repeat\">Repeat</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]</li><li>| <a href=\"#v:DevNull\">DevNull</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]</li><li>| <a href=\"#v:SigD\">SigD</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] !(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li>| <a href=\"#v:CtxName\">CtxName</a></li><li>| <a href=\"#v:EscapedSymbol\">EscapedSymbol</a> <a href=\"Clash-Netlist-BlackBox-Types.html#t:EscapedSymbol\" title=\"Clash.Netlist.BlackBox.Types\">EscapedSymbol</a></li></ul>","name":"Element Gen Result Lit Text Const And Name FilePath Arg Tag Size Length Depth Err SigD ArgGen Repeat Component HdlSyn ActiveEdge Period EscapedSymbol BV Typ TypElem ToVar Sym TypM CompName IncludeName IndexType MaxIndex Template IF IW64 CmpLE Sel IsLit IsVar IsScalar IsActiveHigh LongestPeriod IsSync IsInitDefined IsActiveEnable IsUndefined StrCmp OutputUsage Vars GenSym DevNull CtxName","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:Element"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:EscapedSymbol\">EscapedSymbol</a><ul class=\"subs\"><li>= <a href=\"#v:SquareBracketOpen\">SquareBracketOpen</a></li><li>| <a href=\"#v:SquareBracketClose\">SquareBracketClose</a></li></ul>","name":"EscapedSymbol SquareBracketOpen SquareBracketClose","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:EscapedSymbol"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Decl\">Decl</a> = <a href=\"#v:Decl\">Decl</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> [(<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>, <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>)]","name":"Decl Decl","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:Decl"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:HdlSyn\">HdlSyn</a><ul class=\"subs\"><li>= <a href=\"#v:Vivado\">Vivado</a></li><li>| <a href=\"#v:Quartus\">Quartus</a></li><li>| <a href=\"#v:Other\">Other</a></li></ul>","name":"HdlSyn Other Vivado Quartus","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:HdlSyn"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:RenderVoid\">RenderVoid</a><ul class=\"subs\"><li>= <a href=\"#v:RenderVoid\">RenderVoid</a></li><li>| <a href=\"#v:NoRenderVoid\">NoRenderVoid</a></li></ul>","name":"RenderVoid RenderVoid NoRenderVoid","module":"Clash.Netlist.BlackBox.Types","link":"Clash-Netlist-BlackBox-Types.html#t:RenderVoid"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TemplateSource\">TemplateSource</a><ul class=\"subs\"><li>= <a href=\"#v:TFile\">TFile</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a></li><li>| <a href=\"#v:TInline\">TInline</a> <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a></li></ul>","name":"TemplateSource TFile TInline","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:TemplateSource"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TemplateKind\">TemplateKind</a><ul class=\"subs\"><li>= <a href=\"#v:TDecl\">TDecl</a></li><li>| <a href=\"#v:TExpr\">TExpr</a></li></ul>","name":"TemplateKind TExpr TDecl","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:TemplateKind"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TemplateFormat\">TemplateFormat</a><ul class=\"subs\"><li>= <a href=\"#v:TTemplate\">TTemplate</a></li><li>| <a href=\"#v:THaskell\">THaskell</a></li></ul>","name":"TemplateFormat TTemplate THaskell","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:TemplateFormat"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:BlackBoxFunctionName\">BlackBoxFunctionName</a> = <a href=\"#v:BlackBoxFunctionName\">BlackBoxFunctionName</a> [<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>] <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"BlackBoxFunctionName BlackBoxFunctionName","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:BlackBoxFunctionName"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Primitive\">Primitive</a> a b c d<ul class=\"subs\"><li>= <a href=\"#v:BlackBox\">BlackBox</a> { <ul class=\"subs\"><li><a href=\"#v:name\">name</a> :: !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:workInfo\">workInfo</a> :: <a href=\"Clash-Core-Term.html#t:WorkInfo\" title=\"Clash.Core.Term\">WorkInfo</a></li><li><a href=\"#v:renderVoid\">renderVoid</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:RenderVoid\" title=\"Clash.Netlist.BlackBox.Types\">RenderVoid</a></li><li><a href=\"#v:multiResult\">multiResult</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:kind\">kind</a> :: <a href=\"Clash-Primitives-Types.html#t:TemplateKind\" title=\"Clash.Primitives.Types\">TemplateKind</a></li><li><a href=\"#v:warning\">warning</a> :: c</li><li><a href=\"#v:outputUsage\">outputUsage</a> :: <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a></li><li><a href=\"#v:libraries\">libraries</a> :: [a]</li><li><a href=\"#v:imports\">imports</a> :: [a]</li><li><a href=\"#v:functionPlurality\">functionPlurality</a> :: [(<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)]</li><li><a href=\"#v:includes\">includes</a> :: [((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>), b)]</li><li><a href=\"#v:resultNames\">resultNames</a> :: [b]</li><li><a href=\"#v:resultInits\">resultInits</a> :: [b]</li><li><a href=\"#v:template\">template</a> :: b</li></ul> }</li><li>| <a href=\"#v:BlackBoxHaskell\">BlackBoxHaskell</a> { <ul class=\"subs\"><li><a href=\"#v:name\">name</a> :: !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:workInfo\">workInfo</a> :: <a href=\"Clash-Core-Term.html#t:WorkInfo\" title=\"Clash.Core.Term\">WorkInfo</a></li><li><a href=\"#v:usedArguments\">usedArguments</a> :: <a href=\"Clash-Primitives-Types.html#t:UsedArguments\" title=\"Clash.Primitives.Types\">UsedArguments</a></li><li><a href=\"#v:multiResult\">multiResult</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:functionName\">functionName</a> :: <a href=\"Clash-Primitives-Types.html#t:BlackBoxFunctionName\" title=\"Clash.Primitives.Types\">BlackBoxFunctionName</a></li><li><a href=\"#v:function\">function</a> :: d</li></ul> }</li><li>| <a href=\"#v:Primitive\">Primitive</a> { <ul class=\"subs\"><li><a href=\"#v:name\">name</a> :: !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:workInfo\">workInfo</a> :: <a href=\"Clash-Core-Term.html#t:WorkInfo\" title=\"Clash.Core.Term\">WorkInfo</a></li><li><a href=\"#v:primSort\">primSort</a> :: !<a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a></li></ul> }</li></ul>","name":"Primitive Primitive BlackBox BlackBoxHaskell function functionName name template includes usedArguments kind workInfo renderVoid multiResult warning outputUsage libraries imports functionPlurality resultNames resultInits primSort","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:Primitive"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:UsedArguments\">UsedArguments</a><ul class=\"subs\"><li>= <a href=\"#v:UsedArguments\">UsedArguments</a> [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]</li><li>| <a href=\"#v:IgnoredArguments\">IgnoredArguments</a> [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]</li></ul>","name":"UsedArguments UsedArguments IgnoredArguments","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:UsedArguments"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:GuardedCompiledPrimitive\">GuardedCompiledPrimitive</a> = PrimitiveGuard <a href=\"Clash-Primitives-Types.html#t:CompiledPrimitive\" title=\"Clash.Primitives.Types\">CompiledPrimitive</a>","name":"GuardedCompiledPrimitive","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:GuardedCompiledPrimitive"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:GuardedResolvedPrimitive\">GuardedResolvedPrimitive</a> = PrimitiveGuard <a href=\"Clash-Primitives-Types.html#t:ResolvedPrimitive\" title=\"Clash.Primitives.Types\">ResolvedPrimitive</a>","name":"GuardedResolvedPrimitive","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:GuardedResolvedPrimitive"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:PrimMap\">PrimMap</a> a = <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> a","name":"PrimMap","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:PrimMap"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:UnresolvedPrimitive\">UnresolvedPrimitive</a> = <a href=\"Clash-Primitives-Types.html#t:Primitive\" title=\"Clash.Primitives.Types\">Primitive</a> <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> ((<a href=\"Clash-Primitives-Types.html#t:TemplateFormat\" title=\"Clash.Primitives.Types\">TemplateFormat</a>, <a href=\"Clash-Primitives-Types.html#t:BlackBoxFunctionName\" title=\"Clash.Primitives.Types\">BlackBoxFunctionName</a>), <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Primitives-Types.html#t:TemplateSource\" title=\"Clash.Primitives.Types\">TemplateSource</a>) (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Primitives-Types.html#t:TemplateSource\" title=\"Clash.Primitives.Types\">TemplateSource</a>)","name":"UnresolvedPrimitive","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:UnresolvedPrimitive"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ResolvedPrimitive\">ResolvedPrimitive</a> = <a href=\"Clash-Primitives-Types.html#t:Primitive\" title=\"Clash.Primitives.Types\">Primitive</a> <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> ((<a href=\"Clash-Primitives-Types.html#t:TemplateFormat\" title=\"Clash.Primitives.Types\">TemplateFormat</a>, <a href=\"Clash-Primitives-Types.html#t:BlackBoxFunctionName\" title=\"Clash.Primitives.Types\">BlackBoxFunctionName</a>), <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>) () (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>)","name":"ResolvedPrimitive","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:ResolvedPrimitive"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ResolvedPrimMap\">ResolvedPrimMap</a> = <a href=\"Clash-Primitives-Types.html#t:PrimMap\" title=\"Clash.Primitives.Types\">PrimMap</a> <a href=\"Clash-Primitives-Types.html#t:GuardedResolvedPrimitive\" title=\"Clash.Primitives.Types\">GuardedResolvedPrimitive</a>","name":"ResolvedPrimMap","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:ResolvedPrimMap"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:CompiledPrimitive\">CompiledPrimitive</a> = <a href=\"Clash-Primitives-Types.html#t:Primitive\" title=\"Clash.Primitives.Types\">Primitive</a> <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a> <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> () (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>)","name":"CompiledPrimitive","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:CompiledPrimitive"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:CompiledPrimMap\">CompiledPrimMap</a> = <a href=\"Clash-Primitives-Types.html#t:PrimMap\" title=\"Clash.Primitives.Types\">PrimMap</a> <a href=\"Clash-Primitives-Types.html#t:GuardedCompiledPrimitive\" title=\"Clash.Primitives.Types\">GuardedCompiledPrimitive</a>","name":"CompiledPrimMap","module":"Clash.Primitives.Types","link":"Clash-Primitives-Types.html#t:CompiledPrimMap"},{"display_html":"<a href=\"#v:runParse\">runParse</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> -&gt; <a href=\"/package/trifecta-2.1.4/docs/Text-Trifecta-Result.html#t:Result\" title=\"Text.Trifecta.Result\">Result</a> <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>","name":"runParse","module":"Clash.Netlist.BlackBox.Parser","link":"Clash-Netlist-BlackBox-Parser.html#v:runParse"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:PrettyPrec\">PrettyPrec</a> p <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:pprPrec\">pprPrec</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Rational\" title=\"Prelude\">Rational</a> -&gt; p -&gt; m <a href=\"Clash-Core-Pretty.html#t:ClashDoc\" title=\"Clash.Core.Pretty\">ClashDoc</a></li><li><a href=\"#v:pprPrec-39-\">pprPrec'</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"Clash-Core-Pretty.html#t:PrettyOptions\" title=\"Clash.Core.Pretty\">PrettyOptions</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Rational\" title=\"Prelude\">Rational</a> -&gt; p -&gt; m <a href=\"Clash-Core-Pretty.html#t:ClashDoc\" title=\"Clash.Core.Pretty\">ClashDoc</a></li></ul>","name":"PrettyPrec pprPrec pprPrec'","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#t:PrettyPrec"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PrettyOptions\">PrettyOptions</a> = <a href=\"#v:PrettyOptions\">PrettyOptions</a> {<ul class=\"subs\"><li><a href=\"#v:displayUniques\">displayUniques</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:displayTypes\">displayTypes</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:displayQualifiers\">displayQualifiers</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:displayTicks\">displayTicks</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"PrettyOptions PrettyOptions displayUniques displayTypes displayQualifiers displayTicks","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#t:PrettyOptions"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ClashDoc\">ClashDoc</a> = <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> <a href=\"Clash-Core-Pretty.html#t:ClashAnnotation\" title=\"Clash.Core.Pretty\">ClashAnnotation</a>","name":"ClashDoc","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#t:ClashDoc"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ClashAnnotation\">ClashAnnotation</a><ul class=\"subs\"><li>= <a href=\"#v:AnnContext\">AnnContext</a> <a href=\"Clash-Core-Term.html#t:CoreContext\" title=\"Clash.Core.Term\">CoreContext</a></li><li>| <a href=\"#v:AnnSyntax\">AnnSyntax</a> <a href=\"Clash-Core-Pretty.html#t:SyntaxElement\" title=\"Clash.Core.Pretty\">SyntaxElement</a></li></ul>","name":"ClashAnnotation AnnContext AnnSyntax","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#t:ClashAnnotation"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SyntaxElement\">SyntaxElement</a><ul class=\"subs\"><li>= <a href=\"#v:Keyword\">Keyword</a></li><li>| <a href=\"#v:LitS\">LitS</a></li><li>| <a href=\"#v:Type\">Type</a></li><li>| <a href=\"#v:Unique\">Unique</a></li><li>| <a href=\"#v:Qualifier\">Qualifier</a></li><li>| <a href=\"#v:Ticky\">Ticky</a></li></ul>","name":"SyntaxElement Type Unique Qualifier Keyword LitS Ticky","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#t:SyntaxElement"},{"display_html":"<a href=\"#v:ppr\">ppr</a> :: <a href=\"Clash-Core-Pretty.html#t:PrettyPrec\" title=\"Clash.Core.Pretty\">PrettyPrec</a> p =&gt; p -&gt; <a href=\"Clash-Core-Pretty.html#t:ClashDoc\" title=\"Clash.Core.Pretty\">ClashDoc</a>","name":"ppr","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#v:ppr"},{"display_html":"<a href=\"#v:ppr-39-\">ppr'</a> :: <a href=\"Clash-Core-Pretty.html#t:PrettyPrec\" title=\"Clash.Core.Pretty\">PrettyPrec</a> p =&gt; <a href=\"Clash-Core-Pretty.html#t:PrettyOptions\" title=\"Clash.Core.Pretty\">PrettyOptions</a> -&gt; p -&gt; <a href=\"Clash-Core-Pretty.html#t:ClashDoc\" title=\"Clash.Core.Pretty\">ClashDoc</a>","name":"ppr'","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#v:ppr-39-"},{"display_html":"<a href=\"#v:showPpr\">showPpr</a> :: <a href=\"Clash-Core-Pretty.html#t:PrettyPrec\" title=\"Clash.Core.Pretty\">PrettyPrec</a> p =&gt; p -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"showPpr","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#v:showPpr"},{"display_html":"<a href=\"#v:showPpr-39-\">showPpr'</a> :: <a href=\"Clash-Core-Pretty.html#t:PrettyPrec\" title=\"Clash.Core.Pretty\">PrettyPrec</a> p =&gt; <a href=\"Clash-Core-Pretty.html#t:PrettyOptions\" title=\"Clash.Core.Pretty\">PrettyOptions</a> -&gt; p -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"showPpr'","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#v:showPpr-39-"},{"display_html":"<a href=\"#v:tracePprId\">tracePprId</a> :: <a href=\"Clash-Core-Pretty.html#t:PrettyPrec\" title=\"Clash.Core.Pretty\">PrettyPrec</a> p =&gt; p -&gt; p","name":"tracePprId","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#v:tracePprId"},{"display_html":"<a href=\"#v:tracePpr\">tracePpr</a> :: <a href=\"Clash-Core-Pretty.html#t:PrettyPrec\" title=\"Clash.Core.Pretty\">PrettyPrec</a> p =&gt; p -&gt; a -&gt; a","name":"tracePpr","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#v:tracePpr"},{"display_html":"<a href=\"#v:fromPpr\">fromPpr</a> :: <a href=\"Clash-Core-Pretty.html#t:PrettyPrec\" title=\"Clash.Core.Pretty\">PrettyPrec</a> a =&gt; a -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ()","name":"fromPpr","module":"Clash.Core.Pretty","link":"Clash-Core-Pretty.html#v:fromPpr"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:VarEnv\">VarEnv</a> a = <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> a","name":"VarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#t:VarEnv"},{"display_html":"<a href=\"#v:nullVarEnv\">nullVarEnv</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"nullVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:nullVarEnv"},{"display_html":"<a href=\"#v:lookupVarEnv\">lookupVarEnv</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a","name":"lookupVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:lookupVarEnv"},{"display_html":"<a href=\"#v:lookupVarEnv-39-\">lookupVarEnv'</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; a","name":"lookupVarEnv'","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:lookupVarEnv-39-"},{"display_html":"<a href=\"#v:lookupVarEnvDirectly\">lookupVarEnvDirectly</a> :: <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a","name":"lookupVarEnvDirectly","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:lookupVarEnvDirectly"},{"display_html":"<a href=\"#v:emptyVarEnv\">emptyVarEnv</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"emptyVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:emptyVarEnv"},{"display_html":"<a href=\"#v:unitVarEnv\">unitVarEnv</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"unitVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:unitVarEnv"},{"display_html":"<a href=\"#v:mkVarEnv\">mkVarEnv</a> :: [(<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a, b)] -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> b","name":"mkVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:mkVarEnv"},{"display_html":"<a href=\"#v:extendVarEnv\">extendVarEnv</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"extendVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:extendVarEnv"},{"display_html":"<a href=\"#v:extendVarEnvList\">extendVarEnvList</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; [(<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b, a)] -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"extendVarEnvList","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:extendVarEnvList"},{"display_html":"<a href=\"#v:extendVarEnvWith\">extendVarEnvWith</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; a -&gt; (a -&gt; a -&gt; a) -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"extendVarEnvWith","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:extendVarEnvWith"},{"display_html":"<a href=\"#v:delVarEnv\">delVarEnv</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"delVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:delVarEnv"},{"display_html":"<a href=\"#v:delVarEnvList\">delVarEnvList</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; [<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b] -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"delVarEnvList","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:delVarEnvList"},{"display_html":"<a href=\"#v:unionVarEnv\">unionVarEnv</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"unionVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:unionVarEnv"},{"display_html":"<a href=\"#v:unionVarEnvWith\">unionVarEnvWith</a> :: (a -&gt; a -&gt; a) -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"unionVarEnvWith","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:unionVarEnvWith"},{"display_html":"<a href=\"#v:differenceVarEnv\">differenceVarEnv</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a","name":"differenceVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:differenceVarEnv"},{"display_html":"<a href=\"#v:mapVarEnv\">mapVarEnv</a> :: (a -&gt; b) -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> b","name":"mapVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:mapVarEnv"},{"display_html":"<a href=\"#v:mapMaybeVarEnv\">mapMaybeVarEnv</a> :: (a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> b) -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> b","name":"mapMaybeVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:mapMaybeVarEnv"},{"display_html":"<a href=\"#v:foldlWithUniqueVarEnv-39-\">foldlWithUniqueVarEnv'</a> :: (a -&gt; <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; b -&gt; a) -&gt; a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> b -&gt; a","name":"foldlWithUniqueVarEnv'","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:foldlWithUniqueVarEnv-39-"},{"display_html":"<a href=\"#v:elemVarEnv\">elemVarEnv</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"elemVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:elemVarEnv"},{"display_html":"<a href=\"#v:notElemVarEnv\">notElemVarEnv</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"notElemVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:notElemVarEnv"},{"display_html":"<a href=\"#v:eltsVarEnv\">eltsVarEnv</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> a -&gt; [a]","name":"eltsVarEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:eltsVarEnv"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:VarSet\">VarSet</a> = <a href=\"Clash-Data-UniqMap.html#t:UniqMap\" title=\"Clash.Data.UniqMap\">UniqMap</a> (<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> <a href=\"/package/base-4.18.3.0/docs/GHC-Exts.html#t:Any\" title=\"GHC.Exts\">Any</a>)","name":"VarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#t:VarSet"},{"display_html":"<a href=\"#v:emptyVarSet\">emptyVarSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a>","name":"emptyVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:emptyVarSet"},{"display_html":"<a href=\"#v:unitVarSet\">unitVarSet</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a>","name":"unitVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:unitVarSet"},{"display_html":"<a href=\"#v:delVarSetByKey\">delVarSetByKey</a> :: <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a>","name":"delVarSetByKey","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:delVarSetByKey"},{"display_html":"<a href=\"#v:unionVarSet\">unionVarSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a>","name":"unionVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:unionVarSet"},{"display_html":"<a href=\"#v:differenceVarSet\">differenceVarSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a>","name":"differenceVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:differenceVarSet"},{"display_html":"<a href=\"#v:nullVarSet\">nullVarSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"nullVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:nullVarSet"},{"display_html":"<a href=\"#v:elemVarSet\">elemVarSet</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"elemVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:elemVarSet"},{"display_html":"<a href=\"#v:notElemVarSet\">notElemVarSet</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"notElemVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:notElemVarSet"},{"display_html":"<a href=\"#v:subsetVarSet\">subsetVarSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"subsetVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:subsetVarSet"},{"display_html":"<a href=\"#v:disjointVarSet\">disjointVarSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"disjointVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:disjointVarSet"},{"display_html":"<a href=\"#v:mkVarSet\">mkVarSet</a> :: [<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a] -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a>","name":"mkVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:mkVarSet"},{"display_html":"<a href=\"#v:eltsVarSet\">eltsVarSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> <a href=\"/package/base-4.18.3.0/docs/GHC-Exts.html#t:Any\" title=\"GHC.Exts\">Any</a>]","name":"eltsVarSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:eltsVarSet"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:InScopeSet\">InScopeSet</a>","name":"InScopeSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#t:InScopeSet"},{"display_html":"<a href=\"#v:emptyInScopeSet\">emptyInScopeSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>","name":"emptyInScopeSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:emptyInScopeSet"},{"display_html":"<a href=\"#v:lookupInScope\">lookupInScope</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> <a href=\"/package/base-4.18.3.0/docs/GHC-Exts.html#t:Any\" title=\"GHC.Exts\">Any</a>)","name":"lookupInScope","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:lookupInScope"},{"display_html":"<a href=\"#v:mkInScopeSet\">mkInScopeSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>","name":"mkInScopeSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:mkInScopeSet"},{"display_html":"<a href=\"#v:extendInScopeSet\">extendInScopeSet</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>","name":"extendInScopeSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:extendInScopeSet"},{"display_html":"<a href=\"#v:extendInScopeSetList\">extendInScopeSetList</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a] -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>","name":"extendInScopeSetList","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:extendInScopeSetList"},{"display_html":"<a href=\"#v:unionInScope\">unionInScope</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>","name":"unionInScope","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:unionInScope"},{"display_html":"<a href=\"#v:elemInScopeSet\">elemInScopeSet</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"elemInScopeSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:elemInScopeSet"},{"display_html":"<a href=\"#v:elemUniqInScopeSet\">elemUniqInScopeSet</a> :: <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"elemUniqInScopeSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:elemUniqInScopeSet"},{"display_html":"<a href=\"#v:notElemInScopeSet\">notElemInScopeSet</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"notElemInScopeSet","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:notElemInScopeSet"},{"display_html":"<a href=\"#v:varSetInScope\">varSetInScope</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"varSetInScope","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:varSetInScope"},{"display_html":"<a href=\"#v:uniqAway\">uniqAway</a> :: (<a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a, <a href=\"Clash-Pretty.html#t:ClashPretty\" title=\"Clash.Pretty\">ClashPretty</a> a) =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; a -&gt; a","name":"uniqAway","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:uniqAway"},{"display_html":"<a href=\"#v:uniqAway-39-\">uniqAway'</a> :: (<a href=\"Clash-Unique.html#t:Uniquable\" title=\"Clash.Unique\">Uniquable</a> a, <a href=\"Clash-Pretty.html#t:ClashPretty\" title=\"Clash.Pretty\">ClashPretty</a> a) =&gt; (<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; Seed -&gt; a -&gt; a","name":"uniqAway'","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:uniqAway-39-"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:RnEnv\">RnEnv</a>","name":"RnEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#t:RnEnv"},{"display_html":"<a href=\"#v:mkRnEnv\">mkRnEnv</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a>","name":"mkRnEnv","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:mkRnEnv"},{"display_html":"<a href=\"#v:rnTmBndr\">rnTmBndr</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a>","name":"rnTmBndr","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnTmBndr"},{"display_html":"<a href=\"#v:rnTyBndr\">rnTyBndr</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a>","name":"rnTyBndr","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnTyBndr"},{"display_html":"<a href=\"#v:rnTmBndrs\">rnTmBndrs</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a>","name":"rnTmBndrs","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnTmBndrs"},{"display_html":"<a href=\"#v:rnTyBndrs\">rnTyBndrs</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a>","name":"rnTyBndrs","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnTyBndrs"},{"display_html":"<a href=\"#v:rnOccLId\">rnOccLId</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"rnOccLId","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnOccLId"},{"display_html":"<a href=\"#v:rnOccRId\">rnOccRId</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"rnOccRId","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnOccRId"},{"display_html":"<a href=\"#v:rnOccLTy\">rnOccLTy</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>","name":"rnOccLTy","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnOccLTy"},{"display_html":"<a href=\"#v:rnOccRTy\">rnOccRTy</a> :: <a href=\"Clash-Core-VarEnv.html#t:RnEnv\" title=\"Clash.Core.VarEnv\">RnEnv</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>","name":"rnOccRTy","module":"Clash.Core.VarEnv","link":"Clash-Core-VarEnv.html#v:rnOccRTy"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ClashEnv\">ClashEnv</a> = <a href=\"#v:ClashEnv\">ClashEnv</a> {<ul class=\"subs\"><li><a href=\"#v:envOpts\">envOpts</a> :: <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a></li><li><a href=\"#v:envTyConMap\">envTyConMap</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a></li><li><a href=\"#v:envTupleTyCons\">envTupleTyCons</a> :: <a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a></li><li><a href=\"#v:envPrimitives\">envPrimitives</a> :: <a href=\"Clash-Primitives-Types.html#t:CompiledPrimMap\" title=\"Clash.Primitives.Types\">CompiledPrimMap</a></li><li><a href=\"#v:envCustomReprs\">envCustomReprs</a> :: CustomReprs</li><li><a href=\"#v:envDomains\">envDomains</a> :: <a href=\"Clash-Driver-Types.html#t:DomainMap\" title=\"Clash.Driver.Types\">DomainMap</a></li></ul>}","name":"ClashEnv envDomains envCustomReprs envPrimitives envTupleTyCons envTyConMap envOpts ClashEnv","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:ClashEnv"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ClashDesign\">ClashDesign</a> = <a href=\"#v:ClashDesign\">ClashDesign</a> {<ul class=\"subs\"><li><a href=\"#v:designEntities\">designEntities</a> :: [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>]</li><li><a href=\"#v:designBindings\">designBindings</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a></li></ul>}","name":"ClashDesign designBindings designEntities ClashDesign","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:ClashDesign"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IsPrim\">IsPrim</a><ul class=\"subs\"><li>= <a href=\"#v:IsPrim\">IsPrim</a></li><li>| <a href=\"#v:IsFun\">IsFun</a></li></ul>","name":"IsPrim IsFun IsPrim","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:IsPrim"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Binding\">Binding</a> a = <a href=\"#v:Binding\">Binding</a> {<ul class=\"subs\"><li><a href=\"#v:bindingId\">bindingId</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li><a href=\"#v:bindingLoc\">bindingLoc</a> :: <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a></li><li><a href=\"#v:bindingSpec\">bindingSpec</a> :: <a href=\"/package/ghc-9.6.7/docs/GHC-Types-Basic.html#t:InlineSpec\" title=\"GHC.Types.Basic\">InlineSpec</a></li><li><a href=\"#v:bindingIsPrim\">bindingIsPrim</a> :: <a href=\"Clash-Driver-Types.html#t:IsPrim\" title=\"Clash.Driver.Types\">IsPrim</a></li><li><a href=\"#v:bindingTerm\">bindingTerm</a> :: a</li><li><a href=\"#v:bindingRecursive\">bindingRecursive</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"Binding bindingRecursive bindingIsPrim bindingSpec bindingLoc bindingId bindingTerm Binding","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:Binding"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:BindingMap\">BindingMap</a> = <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> (<a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"BindingMap","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:BindingMap"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:DomainMap\">DomainMap</a> = <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> VDomainConfiguration","name":"DomainMap","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:DomainMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TransformationInfo\">TransformationInfo</a><ul class=\"subs\"><li>= <a href=\"#v:None\">None</a></li><li>| <a href=\"#v:FinalTerm\">FinalTerm</a></li><li>| <a href=\"#v:AppliedName\">AppliedName</a></li><li>| <a href=\"#v:AppliedTerm\">AppliedTerm</a></li><li>| <a href=\"#v:TryName\">TryName</a></li><li>| <a href=\"#v:TryTerm\">TryTerm</a></li></ul>","name":"TransformationInfo TryTerm TryName AppliedTerm AppliedName FinalTerm None","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:TransformationInfo"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:DebugOpts\">DebugOpts</a> = <a href=\"#v:DebugOpts\">DebugOpts</a> {<ul class=\"subs\"><li><a href=\"#v:dbg_invariants\">dbg_invariants</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:dbg_transformationInfo\">dbg_transformationInfo</a> :: <a href=\"Clash-Driver-Types.html#t:TransformationInfo\" title=\"Clash.Driver.Types\">TransformationInfo</a></li><li><a href=\"#v:dbg_transformations\">dbg_transformations</a> :: <a href=\"/package/containers-0.6.7/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li><a href=\"#v:dbg_countTransformations\">dbg_countTransformations</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:dbg_transformationsFrom\">dbg_transformationsFrom</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:dbg_transformationsLimit\">dbg_transformationsLimit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:dbg_historyFile\">dbg_historyFile</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a></li></ul>}","name":"DebugOpts dbg_historyFile dbg_transformationsLimit dbg_transformationsFrom dbg_countTransformations dbg_transformations dbg_transformationInfo dbg_invariants DebugOpts","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:DebugOpts"},{"display_html":"<a href=\"#v:isDebugging\">isDebugging</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isDebugging","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:isDebugging"},{"display_html":"<a href=\"#v:hasDebugInfo\">hasDebugInfo</a> :: <a href=\"Clash-Driver-Types.html#t:TransformationInfo\" title=\"Clash.Driver.Types\">TransformationInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"hasDebugInfo","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:hasDebugInfo"},{"display_html":"<a href=\"#v:hasTransformationInfo\">hasTransformationInfo</a> :: <a href=\"Clash-Driver-Types.html#t:TransformationInfo\" title=\"Clash.Driver.Types\">TransformationInfo</a> -&gt; <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"hasTransformationInfo","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:hasTransformationInfo"},{"display_html":"<a href=\"#v:debugNone\">debugNone</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugNone","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugNone"},{"display_html":"<a href=\"#v:debugSilent\">debugSilent</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugSilent","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugSilent"},{"display_html":"<a href=\"#v:debugFinal\">debugFinal</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugFinal","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugFinal"},{"display_html":"<a href=\"#v:debugCount\">debugCount</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugCount","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugCount"},{"display_html":"<a href=\"#v:debugName\">debugName</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugName","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugName"},{"display_html":"<a href=\"#v:debugTry\">debugTry</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugTry","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugTry"},{"display_html":"<a href=\"#v:debugApplied\">debugApplied</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugApplied","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugApplied"},{"display_html":"<a href=\"#v:debugAll\">debugAll</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugAll","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:debugAll"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ClashOpts\">ClashOpts</a> = <a href=\"#v:ClashOpts\">ClashOpts</a> {<ul class=\"subs\"><li><a href=\"#v:opt_werror\">opt_werror</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_inlineLimit\">opt_inlineLimit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:opt_specLimit\">opt_specLimit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:opt_inlineFunctionLimit\">opt_inlineFunctionLimit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:opt_inlineConstantLimit\">opt_inlineConstantLimit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:opt_evaluatorFuelLimit\">opt_evaluatorFuelLimit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:opt_debug\">opt_debug</a> :: <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a></li><li><a href=\"#v:opt_cachehdl\">opt_cachehdl</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_clear\">opt_clear</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_primWarn\">opt_primWarn</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_color\">opt_color</a> :: <a href=\"Clash-Driver-Bool.html#t:OverridingBool\" title=\"Clash.Driver.Bool\">OverridingBool</a></li><li><a href=\"#v:opt_intWidth\">opt_intWidth</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:opt_hdlDir\">opt_hdlDir</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li><a href=\"#v:opt_hdlSyn\">opt_hdlSyn</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:HdlSyn\" title=\"Clash.Netlist.BlackBox.Types\">HdlSyn</a></li><li><a href=\"#v:opt_errorExtra\">opt_errorExtra</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_importPaths\">opt_importPaths</a> :: [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>]</li><li><a href=\"#v:opt_componentPrefix\">opt_componentPrefix</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:opt_newInlineStrat\">opt_newInlineStrat</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_escapedIds\">opt_escapedIds</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_lowerCaseBasicIds\">opt_lowerCaseBasicIds</a> :: <a href=\"Clash-Netlist-Types.html#t:PreserveCase\" title=\"Clash.Netlist.Types\">PreserveCase</a></li><li><a href=\"#v:opt_ultra\">opt_ultra</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_forceUndefined\">opt_forceUndefined</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li><a href=\"#v:opt_checkIDir\">opt_checkIDir</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_aggressiveXOpt\">opt_aggressiveXOpt</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_aggressiveXOptBB\">opt_aggressiveXOptBB</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_inlineWFCacheLimit\">opt_inlineWFCacheLimit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:opt_edalize\">opt_edalize</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_renderEnums\">opt_renderEnums</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:opt_timescalePrecision\">opt_timescalePrecision</a> :: <a href=\"Clash-Backend-Verilog-Time.html#t:Period\" title=\"Clash.Backend.Verilog.Time\">Period</a></li></ul>}","name":"ClashOpts opt_timescalePrecision opt_renderEnums opt_edalize opt_inlineWFCacheLimit opt_aggressiveXOptBB opt_aggressiveXOpt opt_checkIDir opt_forceUndefined opt_ultra opt_lowerCaseBasicIds opt_escapedIds opt_newInlineStrat opt_componentPrefix opt_importPaths opt_errorExtra opt_hdlSyn opt_hdlDir opt_intWidth opt_clear opt_cachehdl opt_debug opt_evaluatorFuelLimit opt_inlineConstantLimit opt_inlineFunctionLimit opt_specLimit opt_inlineLimit opt_werror opt_color opt_primWarn ClashOpts","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:ClashOpts"},{"display_html":"<a href=\"#v:defClashOpts\">defClashOpts</a> :: <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a>","name":"defClashOpts","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:defClashOpts"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:SdcInfo\">SdcInfo</a> = <a href=\"#v:SdcInfo\">SdcInfo</a> {<ul class=\"subs\"><li><a href=\"#v:sdcClock\">sdcClock</a> :: [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, VDomainConfiguration)]</li></ul>}","name":"SdcInfo sdcClock SdcInfo","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#t:SdcInfo"},{"display_html":"<a href=\"#v:pprSDC\">pprSDC</a> :: <a href=\"Clash-Driver-Types.html#t:SdcInfo\" title=\"Clash.Driver.Types\">SdcInfo</a> -&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> ()","name":"pprSDC","module":"Clash.Driver.Types","link":"Clash-Driver-Types.html#v:pprSDC"},{"display_html":"<a href=\"#v:typeFreeVars\">typeFreeVars</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Fold\" title=\"Control.Lens.Type\">Fold</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>","name":"typeFreeVars","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:typeFreeVars"},{"display_html":"<a href=\"#v:freeIds\">freeIds</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Fold\" title=\"Control.Lens.Type\">Fold</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"freeIds","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:freeIds"},{"display_html":"<a href=\"#v:freeLocalVars\">freeLocalVars</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Fold\" title=\"Control.Lens.Type\">Fold</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> (<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a)","name":"freeLocalVars","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:freeLocalVars"},{"display_html":"<a href=\"#v:freeLocalIds\">freeLocalIds</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Fold\" title=\"Control.Lens.Type\">Fold</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"freeLocalIds","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:freeLocalIds"},{"display_html":"<a href=\"#v:globalIds\">globalIds</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Fold\" title=\"Control.Lens.Type\">Fold</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"globalIds","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:globalIds"},{"display_html":"<a href=\"#v:termFreeTyVars\">termFreeTyVars</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Fold\" title=\"Control.Lens.Type\">Fold</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>","name":"termFreeTyVars","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:termFreeTyVars"},{"display_html":"<a href=\"#v:globalIdOccursIn\">globalIdOccursIn</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"globalIdOccursIn","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:globalIdOccursIn"},{"display_html":"<a href=\"#v:localVarsDoNotOccurIn\">localVarsDoNotOccurIn</a> :: [<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"localVarsDoNotOccurIn","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:localVarsDoNotOccurIn"},{"display_html":"<a href=\"#v:countFreeOccurances\">countFreeOccurances</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"countFreeOccurances","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:countFreeOccurances"},{"display_html":"<a href=\"#v:typeFreeVars-39-\">typeFreeVars'</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Functor-Contravariant.html#t:Contravariant\" title=\"Data.Functor.Contravariant\">Contravariant</a> f, <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f) =&gt; (<span class=\"keyword\">forall</span> b. <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"/package/ghc-9.6.7/docs/GHC-Data-Word64Set.html#t:Word64Set\" title=\"GHC.Data.Word64Set\">Word64Set</a> -&gt; (<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; f (<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a)) -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; f <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"typeFreeVars'","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:typeFreeVars-39-"},{"display_html":"<a href=\"#v:termFreeVars-39-\">termFreeVars'</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Functor-Contravariant.html#t:Contravariant\" title=\"Data.Functor.Contravariant\">Contravariant</a> f, <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> f) =&gt; (<span class=\"keyword\">forall</span> b. <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> b -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; (<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; f (<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a)) -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; f <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"termFreeVars'","module":"Clash.Core.FreeVars","link":"Clash-Core-FreeVars.html#v:termFreeVars-39-"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:HasFreeVars\">HasFreeVars</a> a <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:freeVarsOf\">freeVarsOf</a> :: a -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a></li><li><a href=\"#v:isClosed\">isClosed</a> :: a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:elemFreeVars\">elemFreeVars</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:notElemFreeVars\">notElemFreeVars</a> :: <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:subsetFreeVars\">subsetFreeVars</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:disjointFreeVars\">disjointFreeVars</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>","name":"HasFreeVars freeVarsOf elemFreeVars notElemFreeVars disjointFreeVars isClosed subsetFreeVars","module":"Clash.Core.HasFreeVars","link":"Clash-Core-HasFreeVars.html#t:HasFreeVars"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TypeEqSolution\">TypeEqSolution</a><ul class=\"subs\"><li>= <a href=\"#v:Solution\">Solution</a> (<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)</li><li>| <a href=\"#v:AbsurdSolution\">AbsurdSolution</a></li><li>| <a href=\"#v:NoSolution\">NoSolution</a></li></ul>","name":"TypeEqSolution NoSolution AbsurdSolution Solution","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#t:TypeEqSolution"},{"display_html":"<a href=\"#v:catSolutions\">catSolutions</a> :: [<a href=\"Clash-Core-EqSolver.html#t:TypeEqSolution\" title=\"Clash.Core.EqSolver\">TypeEqSolution</a>] -&gt; [(<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)]","name":"catSolutions","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:catSolutions"},{"display_html":"<a href=\"#v:solveNonAbsurds\">solveNonAbsurds</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; [(<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)] -&gt; [(<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)]","name":"solveNonAbsurds","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:solveNonAbsurds"},{"display_html":"<a href=\"#v:solveEq\">solveEq</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; (<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; [<a href=\"Clash-Core-EqSolver.html#t:TypeEqSolution\" title=\"Clash.Core.EqSolver\">TypeEqSolution</a>]","name":"solveEq","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:solveEq"},{"display_html":"<a href=\"#v:solveAdd\">solveAdd</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; (<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; <a href=\"Clash-Core-EqSolver.html#t:TypeEqSolution\" title=\"Clash.Core.EqSolver\">TypeEqSolution</a>","name":"solveAdd","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:solveAdd"},{"display_html":"<a href=\"#v:normalizeAdd\">normalizeAdd</a> :: (<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a>, <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)","name":"normalizeAdd","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:normalizeAdd"},{"display_html":"<a href=\"#v:isAbsurdPat\">isAbsurdPat</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isAbsurdPat","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:isAbsurdPat"},{"display_html":"<a href=\"#v:isAbsurdEq\">isAbsurdEq</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a> -&gt; (<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isAbsurdEq","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:isAbsurdEq"},{"display_html":"<a href=\"#v:patEqs\">patEqs</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a> -&gt; [(<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)]","name":"patEqs","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:patEqs"},{"display_html":"<a href=\"#v:typeEq\">typeEq</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)","name":"typeEq","module":"Clash.Core.EqSolver","link":"Clash-Core-EqSolver.html#v:typeEq"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TvSubst\">TvSubst</a> = <a href=\"#v:TvSubst\">TvSubst</a> <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> <a href=\"Clash-Core-Subst.html#t:TvSubstEnv\" title=\"Clash.Core.Subst\">TvSubstEnv</a>","name":"TvSubst TvSubst","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#t:TvSubst"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:TvSubstEnv\">TvSubstEnv</a> = <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"TvSubstEnv","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#t:TvSubstEnv"},{"display_html":"<a href=\"#v:extendTvSubst\">extendTvSubst</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"extendTvSubst","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:extendTvSubst"},{"display_html":"<a href=\"#v:extendTvSubstList\">extendTvSubstList</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; [(<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)] -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"extendTvSubstList","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:extendTvSubstList"},{"display_html":"<a href=\"#v:substTy\">substTy</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"substTy","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substTy"},{"display_html":"<a href=\"#v:substTyWith\">substTyWith</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"substTyWith","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substTyWith"},{"display_html":"<a href=\"#v:substTyInVar\">substTyInVar</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a -&gt; <a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a","name":"substTyInVar","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substTyInVar"},{"display_html":"<a href=\"#v:substGlobalsInExistentials\">substGlobalsInExistentials</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; [(<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)] -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>]","name":"substGlobalsInExistentials","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substGlobalsInExistentials"},{"display_html":"<a href=\"#v:substInExistentials\">substInExistentials</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; (<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>]","name":"substInExistentials","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substInExistentials"},{"display_html":"<a href=\"#v:substInExistentialsList\">substInExistentialsList</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; [(<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)] -&gt; [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>]","name":"substInExistentialsList","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substInExistentialsList"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Subst\">Subst</a> = <a href=\"#v:Subst\">Subst</a> {<ul class=\"subs\"><li><a href=\"#v:substInScope\">substInScope</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a></li><li><a href=\"#v:substTmEnv\">substTmEnv</a> :: IdSubstEnv</li><li><a href=\"#v:substTyEnv\">substTyEnv</a> :: <a href=\"Clash-Core-Subst.html#t:TvSubstEnv\" title=\"Clash.Core.Subst\">TvSubstEnv</a></li><li><a href=\"#v:substGblEnv\">substGblEnv</a> :: IdSubstEnv</li></ul>}","name":"Subst Subst substTmEnv substInScope substTyEnv substGblEnv","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#t:Subst"},{"display_html":"<a href=\"#v:mkSubst\">mkSubst</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"mkSubst","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:mkSubst"},{"display_html":"<a href=\"#v:mkTvSubst\">mkTvSubst</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"mkTvSubst","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:mkTvSubst"},{"display_html":"<a href=\"#v:extendInScopeId\">extendInScopeId</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"extendInScopeId","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:extendInScopeId"},{"display_html":"<a href=\"#v:extendInScopeIdList\">extendInScopeIdList</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"extendInScopeIdList","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:extendInScopeIdList"},{"display_html":"<a href=\"#v:extendIdSubst\">extendIdSubst</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"extendIdSubst","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:extendIdSubst"},{"display_html":"<a href=\"#v:extendIdSubstList\">extendIdSubstList</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)] -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"extendIdSubstList","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:extendIdSubstList"},{"display_html":"<a href=\"#v:extendGblSubstList\">extendGblSubstList</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)] -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"extendGblSubstList","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:extendGblSubstList"},{"display_html":"<a href=\"#v:substTm\">substTm</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> () -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"substTm","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substTm"},{"display_html":"<a href=\"#v:maybeSubstTm\">maybeSubstTm</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> () -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"maybeSubstTm","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:maybeSubstTm"},{"display_html":"<a href=\"#v:substAlt\">substAlt</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/prettyprinter-1.7.1/docs/Prettyprinter.html#t:Doc\" title=\"Prettyprinter\">Doc</a> () -&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) -&gt; (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"substAlt","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substAlt"},{"display_html":"<a href=\"#v:substId\">substId</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"substId","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:substId"},{"display_html":"<a href=\"#v:deShadowTerm\">deShadowTerm</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"deShadowTerm","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:deShadowTerm"},{"display_html":"<a href=\"#v:deShadowAlt\">deShadowAlt</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) -&gt; (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"deShadowAlt","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:deShadowAlt"},{"display_html":"<a href=\"#v:freshenTm\">freshenTm</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"freshenTm","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:freshenTm"},{"display_html":"<a href=\"#v:deshadowLetExpr\">deshadowLetExpr</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Term.html#t:Bind\" title=\"Clash.Core.Term\">Bind</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Core-Term.html#t:Bind\" title=\"Clash.Core.Term\">Bind</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"deshadowLetExpr","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:deshadowLetExpr"},{"display_html":"<a href=\"#v:aeqType\">aeqType</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"aeqType","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:aeqType"},{"display_html":"<a href=\"#v:aeqTerm\">aeqTerm</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"aeqTerm","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:aeqTerm"},{"display_html":"<a href=\"#v:eqTerm\">eqTerm</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"eqTerm","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:eqTerm"},{"display_html":"<a href=\"#v:eqType\">eqType</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"eqType","module":"Clash.Core.Subst","link":"Clash-Core-Subst.html#v:eqType"},{"display_html":"<a href=\"#v:deriveTermToData\">deriveTermToData</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name\" title=\"Language.Haskell.TH.Syntax\">Name</a> -&gt; <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Q\" title=\"Language.Haskell.TH.Syntax\">Q</a> <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Exp\" title=\"Language.Haskell.TH.Syntax\">Exp</a>","name":"deriveTermToData","module":"Clash.Core.TermLiteral.TH","link":"Clash-Core-TermLiteral-TH.html#v:deriveTermToData"},{"display_html":"<a href=\"#v:deriveShowsTypePrec\">deriveShowsTypePrec</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name\" title=\"Language.Haskell.TH.Syntax\">Name</a> -&gt; <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Q\" title=\"Language.Haskell.TH.Syntax\">Q</a> <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Dec\" title=\"Language.Haskell.TH.Syntax\">Dec</a>","name":"deriveShowsTypePrec","module":"Clash.Core.TermLiteral.TH","link":"Clash-Core-TermLiteral-TH.html#v:deriveShowsTypePrec"},{"display_html":"<a href=\"#v:deriveTermLiteral\">deriveTermLiteral</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name\" title=\"Language.Haskell.TH.Syntax\">Name</a> -&gt; <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Q\" title=\"Language.Haskell.TH.Syntax\">Q</a> [<a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Dec\" title=\"Language.Haskell.TH.Syntax\">Dec</a>]","name":"deriveTermLiteral","module":"Clash.Core.TermLiteral.TH","link":"Clash-Core-TermLiteral-TH.html#v:deriveTermLiteral"},{"display_html":"<a href=\"#v:dcName-39-\">dcName'</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"dcName'","module":"Clash.Core.TermLiteral.TH","link":"Clash-Core-TermLiteral-TH.html#v:dcName-39-"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:TermLiteral\">TermLiteral</a> a","name":"TermLiteral","module":"Clash.Core.TermLiteral","link":"Clash-Core-TermLiteral.html#t:TermLiteral"},{"display_html":"<a href=\"#v:showsTypePrec\">showsTypePrec</a> :: <a href=\"Clash-Core-TermLiteral.html#t:TermLiteral\" title=\"Clash.Core.TermLiteral\">TermLiteral</a> a =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Proxy.html#t:Proxy\" title=\"Data.Proxy\">Proxy</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Text-Show.html#t:ShowS\" title=\"Text.Show\">ShowS</a>","name":"showsTypePrec","module":"Clash.Core.TermLiteral","link":"Clash-Core-TermLiteral.html#v:showsTypePrec"},{"display_html":"<a href=\"#v:showType\">showType</a> :: <a href=\"Clash-Core-TermLiteral.html#t:TermLiteral\" title=\"Clash.Core.TermLiteral\">TermLiteral</a> a =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Proxy.html#t:Proxy\" title=\"Data.Proxy\">Proxy</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"showType","module":"Clash.Core.TermLiteral","link":"Clash-Core-TermLiteral.html#v:showType"},{"display_html":"<a href=\"#v:termToData\">termToData</a> :: (<a href=\"Clash-Core-TermLiteral.html#t:TermLiteral\" title=\"Clash.Core.TermLiteral\">TermLiteral</a> a, <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>) =&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> a","name":"termToData","module":"Clash.Core.TermLiteral","link":"Clash-Core-TermLiteral.html#v:termToData"},{"display_html":"<a href=\"#v:termToDataError\">termToDataError</a> :: <span class=\"keyword\">forall</span> a. <a href=\"Clash-Core-TermLiteral.html#t:TermLiteral\" title=\"Clash.Core.TermLiteral\">TermLiteral</a> a =&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> a","name":"termToDataError","module":"Clash.Core.TermLiteral","link":"Clash-Core-TermLiteral.html#v:termToDataError"},{"display_html":"<a href=\"#v:deriveTermLiteral\">deriveTermLiteral</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name\" title=\"Language.Haskell.TH.Syntax\">Name</a> -&gt; <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Q\" title=\"Language.Haskell.TH.Syntax\">Q</a> [<a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Dec\" title=\"Language.Haskell.TH.Syntax\">Dec</a>]","name":"deriveTermLiteral","module":"Clash.Core.TermLiteral","link":"Clash-Core-TermLiteral.html#v:deriveTermLiteral"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:HasType\">HasType</a> a <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:coreTypeOf\">coreTypeOf</a> :: a -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li></ul>","name":"HasType coreTypeOf","module":"Clash.Core.HasType","link":"Clash-Core-HasType.html#t:HasType"},{"display_html":"<a href=\"#v:coreKindOf\">coreKindOf</a> :: <a href=\"Clash-Core-HasType.html#t:HasType\" title=\"Clash.Core.HasType\">HasType</a> a =&gt; a -&gt; <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a>","name":"coreKindOf","module":"Clash.Core.HasType","link":"Clash-Core-HasType.html#v:coreKindOf"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:InferType\">InferType</a> a <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:inferCoreTypeOf\">inferCoreTypeOf</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; a -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li></ul>","name":"InferType inferCoreTypeOf","module":"Clash.Core.HasType","link":"Clash-Core-HasType.html#t:InferType"},{"display_html":"<a href=\"#v:inferCoreKindOf\">inferCoreKindOf</a> :: <a href=\"Clash-Core-HasType.html#t:InferType\" title=\"Clash.Core.HasType\">InferType</a> a =&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; a -&gt; <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a>","name":"inferCoreKindOf","module":"Clash.Core.HasType","link":"Clash-Core-HasType.html#v:inferCoreKindOf"},{"display_html":"<a href=\"#v:applyTypeToArgs\">applyTypeToArgs</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"applyTypeToArgs","module":"Clash.Core.HasType","link":"Clash-Core-HasType.html#v:applyTypeToArgs"},{"display_html":"<a href=\"#v:piResultTy\">piResultTy</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"piResultTy","module":"Clash.Core.HasType","link":"Clash-Core-HasType.html#v:piResultTy"},{"display_html":"<a href=\"#v:piResultTys\">piResultTys</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"piResultTys","module":"Clash.Core.HasType","link":"Clash-Core-HasType.html#v:piResultTys"},{"display_html":"<a href=\"#v:listToLets\">listToLets</a> :: [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"listToLets","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:listToLets"},{"display_html":"<a href=\"#v:undefinedTy\">undefinedTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"undefinedTy","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:undefinedTy"},{"display_html":"<a href=\"#v:unsafeCoerceTy\">unsafeCoerceTy</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"unsafeCoerceTy","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:unsafeCoerceTy"},{"display_html":"<a href=\"#v:mkVec\">mkVec</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkVec","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkVec"},{"display_html":"<a href=\"#v:appendToVec\">appendToVec</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"appendToVec","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:appendToVec"},{"display_html":"<a href=\"#v:extractElems\">extractElems</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)))","name":"extractElems","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:extractElems"},{"display_html":"<a href=\"#v:extractTElems\">extractTElems</a> :: <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, ([<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>], [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)]))","name":"extractTElems","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:extractTElems"},{"display_html":"<a href=\"#v:mkRTree\">mkRTree</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkRTree","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkRTree"},{"display_html":"<a href=\"#v:isSignalType\">isSignalType</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isSignalType","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:isSignalType"},{"display_html":"<a href=\"#v:isEnable\">isEnable</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isEnable","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:isEnable"},{"display_html":"<a href=\"#v:isClockOrReset\">isClockOrReset</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isClockOrReset","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:isClockOrReset"},{"display_html":"<a href=\"#v:tyNatSize\">tyNatSize</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-Except.html#t:Except\" title=\"Control.Monad.Except\">Except</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a>","name":"tyNatSize","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:tyNatSize"},{"display_html":"<a href=\"#v:mkUniqSystemTyVar\">mkUniqSystemTyVar</a> :: (<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>) -&gt; (<a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a>, <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a>) -&gt; ((<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>), <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>)","name":"mkUniqSystemTyVar","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkUniqSystemTyVar"},{"display_html":"<a href=\"#v:mkUniqSystemId\">mkUniqSystemId</a> :: (<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>) -&gt; (<a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; ((<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>), <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>)","name":"mkUniqSystemId","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkUniqSystemId"},{"display_html":"<a href=\"#v:mkUniqInternalId\">mkUniqInternalId</a> :: (<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>) -&gt; (<a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; ((<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>, <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>), <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>)","name":"mkUniqInternalId","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkUniqInternalId"},{"display_html":"<a href=\"#v:dataConInstArgTysE\">dataConInstArgTysE</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]","name":"dataConInstArgTysE","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:dataConInstArgTysE"},{"display_html":"<a href=\"#v:dataConInstArgTys\">dataConInstArgTys</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]","name":"dataConInstArgTys","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:dataConInstArgTys"},{"display_html":"<a href=\"#v:primCo\">primCo</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"primCo","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:primCo"},{"display_html":"<a href=\"#v:primUCo\">primUCo</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"primUCo","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:primUCo"},{"display_html":"<a href=\"#v:undefinedPrims\">undefinedPrims</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]","name":"undefinedPrims","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:undefinedPrims"},{"display_html":"<a href=\"#v:undefinedXPrims\">undefinedXPrims</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]","name":"undefinedXPrims","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:undefinedXPrims"},{"display_html":"<a href=\"#v:substArgTys\">substArgTys</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]","name":"substArgTys","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:substArgTys"},{"display_html":"<a href=\"#v:tyLitShow\">tyLitShow</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-Except.html#t:Except\" title=\"Control.Monad.Except\">Except</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"tyLitShow","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:tyLitShow"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Projections\">Projections</a> <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:Projections\">Projections</a> :: (<span class=\"keyword\">forall</span> m. <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; m [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>]) -&gt; <a href=\"Clash-Core-Util.html#t:Projections\" title=\"Clash.Core.Util\">Projections</a></li></ul>","name":"Projections Projections","module":"Clash.Core.Util","link":"Clash-Core-Util.html#t:Projections"},{"display_html":"<a href=\"#v:shouldSplit\">shouldSplit</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> ([<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"Clash-Core-Util.html#t:Projections\" title=\"Clash.Core.Util\">Projections</a>, [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>])","name":"shouldSplit","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:shouldSplit"},{"display_html":"<a href=\"#v:shouldSplit0\">shouldSplit0</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:TypeView\" title=\"Clash.Core.Type\">TypeView</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> ([<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"Clash-Core-Util.html#t:Projections\" title=\"Clash.Core.Util\">Projections</a>, [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>])","name":"shouldSplit0","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:shouldSplit0"},{"display_html":"<a href=\"#v:splitShouldSplit\">splitShouldSplit</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]","name":"splitShouldSplit","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:splitShouldSplit"},{"display_html":"<a href=\"#v:stripIP\">stripIP</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"stripIP","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:stripIP"},{"display_html":"<a href=\"#v:inverseTopSortLetBindings\">inverseTopSortLetBindings</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)] -&gt; [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)]","name":"inverseTopSortLetBindings","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:inverseTopSortLetBindings"},{"display_html":"<a href=\"#v:sccLetBindings\">sccLetBindings</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)] -&gt; [<a href=\"/package/containers-0.6.7/docs/Data-Graph.html#t:SCC\" title=\"Data.Graph\">SCC</a> (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)]","name":"sccLetBindings","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:sccLetBindings"},{"display_html":"<a href=\"#v:mkSelectorCase\">mkSelectorCase</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; m <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkSelectorCase","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkSelectorCase"},{"display_html":"<a href=\"#v:mkWildValBinder\">mkWildValBinder</a> :: <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; m <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"mkWildValBinder","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkWildValBinder"},{"display_html":"<a href=\"#v:mkInternalVar\">mkInternalVar</a> :: <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a> -&gt; <a href=\"Clash-Core-Type.html#t:KindOrType\" title=\"Clash.Core.Type\">KindOrType</a> -&gt; m <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"mkInternalVar","module":"Clash.Core.Util","link":"Clash-Core-Util.html#v:mkInternalVar"},{"display_html":"<a href=\"#v:removedArg\">removedArg</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a>","name":"removedArg","module":"Clash.Normalize.Primitives","link":"Clash-Normalize-Primitives.html#v:removedArg"},{"display_html":"<a href=\"#v:undefined\">undefined</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a>","name":"undefined","module":"Clash.Normalize.Primitives","link":"Clash-Normalize-Primitives.html#v:undefined"},{"display_html":"<a href=\"#v:undefinedX\">undefinedX</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a>","name":"undefinedX","module":"Clash.Normalize.Primitives","link":"Clash-Normalize-Primitives.html#v:undefinedX"},{"display_html":"<a href=\"#v:isWorkFree\">isWorkFree</a> :: <span class=\"keyword\">forall</span> s m. (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"/package/adjunctions-4.4.3/docs/Control-Monad-Representable-State.html#t:MonadState\" title=\"Control.Monad.Representable.State\">MonadState</a> s m) =&gt; <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; m <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isWorkFree","module":"Clash.Rewrite.WorkFree","link":"Clash-Rewrite-WorkFree.html#v:isWorkFree"},{"display_html":"<a href=\"#v:isWorkFreeClockOrResetOrEnable\">isWorkFreeClockOrResetOrEnable</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isWorkFreeClockOrResetOrEnable","module":"Clash.Rewrite.WorkFree","link":"Clash-Rewrite-WorkFree.html#v:isWorkFreeClockOrResetOrEnable"},{"display_html":"<a href=\"#v:isWorkFreeIsh\">isWorkFreeIsh</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isWorkFreeIsh","module":"Clash.Rewrite.WorkFree","link":"Clash-Rewrite-WorkFree.html#v:isWorkFreeIsh"},{"display_html":"<a href=\"#v:isConstant\">isConstant</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isConstant","module":"Clash.Rewrite.WorkFree","link":"Clash-Rewrite-WorkFree.html#v:isConstant"},{"display_html":"<a href=\"#v:isConstantNotClockReset\">isConstantNotClockReset</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isConstantNotClockReset","module":"Clash.Rewrite.WorkFree","link":"Clash-Rewrite-WorkFree.html#v:isConstantNotClockReset"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Arg\">Arg</a> a = <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> a <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"Arg","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#t:Arg"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Args\">Args</a> a = [<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Arg\" title=\"Clash.Core.PartialEval.NormalForm\">Arg</a> a]","name":"Args","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#t:Args"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Neutral\">Neutral</a> a<ul class=\"subs\"><li>= <a href=\"#v:NeVar\">NeVar</a> !<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li>| <a href=\"#v:NePrim\">NePrim</a> !<a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> !(<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Args\" title=\"Clash.Core.PartialEval.NormalForm\">Args</a> a)</li><li>| <a href=\"#v:NeApp\">NeApp</a> !(<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Neutral\" title=\"Clash.Core.PartialEval.NormalForm\">Neutral</a> a) !a</li><li>| <a href=\"#v:NeTyApp\">NeTyApp</a> !(<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Neutral\" title=\"Clash.Core.PartialEval.NormalForm\">Neutral</a> a) !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:NeLet\">NeLet</a> !(<a href=\"Clash-Core-Term.html#t:Bind\" title=\"Clash.Core.Term\">Bind</a> a) !a</li><li>| <a href=\"#v:NeCase\">NeCase</a> !a !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> ![(<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, a)]</li></ul>","name":"Neutral NeVar NePrim NeApp NeTyApp NeLet NeCase","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#t:Neutral"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Value\">Value</a><ul class=\"subs\"><li>= <a href=\"#v:VNeutral\">VNeutral</a> !(<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Neutral\" title=\"Clash.Core.PartialEval.NormalForm\">Neutral</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>)</li><li>| <a href=\"#v:VLiteral\">VLiteral</a> !<a href=\"Clash-Core-Literal.html#t:Literal\" title=\"Clash.Core.Literal\">Literal</a></li><li>| <a href=\"#v:VData\">VData</a> !<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> !(<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Args\" title=\"Clash.Core.PartialEval.NormalForm\">Args</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>) !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a></li><li>| <a href=\"#v:VLam\">VLam</a> !<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a></li><li>| <a href=\"#v:VTyLam\">VTyLam</a> !<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a></li><li>| <a href=\"#v:VCast\">VCast</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:VTick\">VTick</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> !<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a></li><li>| <a href=\"#v:VThunk\">VThunk</a> !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a></li></ul>","name":"Value VNeutral VLiteral VData VLam VTyLam VCast VTick VThunk","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#t:Value"},{"display_html":"<a href=\"#v:mkValueTicks\">mkValueTicks</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>] -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>","name":"mkValueTicks","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#v:mkValueTicks"},{"display_html":"<a href=\"#v:stripValue\">stripValue</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>","name":"stripValue","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#v:stripValue"},{"display_html":"<a href=\"#v:collectValueTicks\">collectValueTicks</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; (<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>, [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>])","name":"collectValueTicks","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#v:collectValueTicks"},{"display_html":"<a href=\"#v:isUndefined\">isUndefined</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isUndefined","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#v:isUndefined"},{"display_html":"<a href=\"#v:isUndefinedX\">isUndefinedX</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isUndefinedX","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#v:isUndefinedX"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Normal\">Normal</a><ul class=\"subs\"><li>= <a href=\"#v:NNeutral\">NNeutral</a> !(<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Neutral\" title=\"Clash.Core.PartialEval.NormalForm\">Neutral</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Normal\" title=\"Clash.Core.PartialEval.NormalForm\">Normal</a>)</li><li>| <a href=\"#v:NLiteral\">NLiteral</a> !<a href=\"Clash-Core-Literal.html#t:Literal\" title=\"Clash.Core.Literal\">Literal</a></li><li>| <a href=\"#v:NData\">NData</a> !<a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> !(<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Args\" title=\"Clash.Core.PartialEval.NormalForm\">Args</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Normal\" title=\"Clash.Core.PartialEval.NormalForm\">Normal</a>)</li><li>| <a href=\"#v:NLam\">NLam</a> !<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Normal\" title=\"Clash.Core.PartialEval.NormalForm\">Normal</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a></li><li>| <a href=\"#v:NTyLam\">NTyLam</a> !<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Normal\" title=\"Clash.Core.PartialEval.NormalForm\">Normal</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a></li><li>| <a href=\"#v:NCast\">NCast</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Normal\" title=\"Clash.Core.PartialEval.NormalForm\">Normal</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> !<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:NTick\">NTick</a> !<a href=\"Clash-Core-PartialEval-NormalForm.html#t:Normal\" title=\"Clash.Core.PartialEval.NormalForm\">Normal</a> !<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a></li></ul>","name":"Normal NNeutral NLiteral NData NLam NTyLam NCast NTick","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#t:Normal"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:LocalEnv\">LocalEnv</a> = <a href=\"#v:LocalEnv\">LocalEnv</a> {<ul class=\"subs\"><li><a href=\"#v:lenvContext\">lenvContext</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li><a href=\"#v:lenvTypes\">lenvTypes</a> :: <a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li><a href=\"#v:lenvValues\">lenvValues</a> :: <a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a></li><li><a href=\"#v:lenvFuel\">lenvFuel</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:lenvKeepLifted\">lenvKeepLifted</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"LocalEnv LocalEnv lenvContext lenvTypes lenvValues lenvFuel lenvKeepLifted","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:GlobalEnv\">GlobalEnv</a> = <a href=\"#v:GlobalEnv\">GlobalEnv</a> {<ul class=\"subs\"><li><a href=\"#v:genvBindings\">genvBindings</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> (<a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>)</li><li><a href=\"#v:genvTyConMap\">genvTyConMap</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a></li><li><a href=\"#v:genvInScope\">genvInScope</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a></li><li><a href=\"#v:genvSupply\">genvSupply</a> :: <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a></li><li><a href=\"#v:genvFuel\">genvFuel</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:genvHeap\">genvHeap</a> :: <a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a></li><li><a href=\"#v:genvAddr\">genvAddr</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:genvWorkCache\">genvWorkCache</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"GlobalEnv GlobalEnv genvBindings genvTyConMap genvInScope genvSupply genvFuel genvHeap genvAddr genvWorkCache","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv"},{"display_html":"<a href=\"#v:workFreeCache\">workFreeCache</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>)","name":"workFreeCache","module":"Clash.Core.PartialEval.NormalForm","link":"Clash-Core-PartialEval-NormalForm.html#v:workFreeCache"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:AsTerm\">AsTerm</a> a <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:asTerm\">asTerm</a> :: a -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li></ul>","name":"AsTerm asTerm","module":"Clash.Core.PartialEval.AsTerm","link":"Clash-Core-PartialEval-AsTerm.html#t:AsTerm"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Eval\">Eval</a> a","name":"Eval","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#t:Eval"},{"display_html":"<a href=\"#v:runEval\">runEval</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (a, <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a>)","name":"runEval","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:runEval"},{"display_html":"<a href=\"#v:getLocalEnv\">getLocalEnv</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a>","name":"getLocalEnv","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getLocalEnv"},{"display_html":"<a href=\"#v:setLocalEnv\">setLocalEnv</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"setLocalEnv","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:setLocalEnv"},{"display_html":"<a href=\"#v:modifyLocalEnv\">modifyLocalEnv</a> :: (<a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:LocalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">LocalEnv</a>) -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"modifyLocalEnv","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:modifyLocalEnv"},{"display_html":"<a href=\"#v:getGlobalEnv\">getGlobalEnv</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a>","name":"getGlobalEnv","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getGlobalEnv"},{"display_html":"<a href=\"#v:modifyGlobalEnv\">modifyGlobalEnv</a> :: (<a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a>) -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> ()","name":"modifyGlobalEnv","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:modifyGlobalEnv"},{"display_html":"<a href=\"#v:getContext\">getContext</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"getContext","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getContext"},{"display_html":"<a href=\"#v:withContext\">withContext</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"withContext","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:withContext"},{"display_html":"<a href=\"#v:getTvSubst\">getTvSubst</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>","name":"getTvSubst","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getTvSubst"},{"display_html":"<a href=\"#v:findTyVar\">findTyVar</a> :: <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)","name":"findTyVar","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:findTyVar"},{"display_html":"<a href=\"#v:withTyVar\">withTyVar</a> :: <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"withTyVar","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:withTyVar"},{"display_html":"<a href=\"#v:withTyVars\">withTyVars</a> :: [(<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>)] -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"withTyVars","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:withTyVars"},{"display_html":"<a href=\"#v:findId\">findId</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>)","name":"findId","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:findId"},{"display_html":"<a href=\"#v:withId\">withId</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"withId","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:withId"},{"display_html":"<a href=\"#v:withIds\">withIds</a> :: [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>)] -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"withIds","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:withIds"},{"display_html":"<a href=\"#v:withoutId\">withoutId</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"withoutId","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:withoutId"},{"display_html":"<a href=\"#v:findBinding\">findBinding</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>))","name":"findBinding","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:findBinding"},{"display_html":"<a href=\"#v:replaceBinding\">replaceBinding</a> :: <a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> ()","name":"replaceBinding","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:replaceBinding"},{"display_html":"<a href=\"#v:getRef\">getRef</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a>","name":"getRef","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getRef"},{"display_html":"<a href=\"#v:setRef\">setRef</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> ()","name":"setRef","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:setRef"},{"display_html":"<a href=\"#v:isKeepingLifted\">isKeepingLifted</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isKeepingLifted","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:isKeepingLifted"},{"display_html":"<a href=\"#v:keepLifted\">keepLifted</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"keepLifted","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:keepLifted"},{"display_html":"<a href=\"#v:getFuel\">getFuel</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"getFuel","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getFuel"},{"display_html":"<a href=\"#v:withFuel\">withFuel</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"withFuel","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:withFuel"},{"display_html":"<a href=\"#v:preserveFuel\">preserveFuel</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> a","name":"preserveFuel","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:preserveFuel"},{"display_html":"<a href=\"#v:getTyConMap\">getTyConMap</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a>","name":"getTyConMap","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getTyConMap"},{"display_html":"<a href=\"#v:getInScope\">getInScope</a> :: <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a>","name":"getInScope","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getInScope"},{"display_html":"<a href=\"#v:getUniqueId\">getUniqueId</a> :: <a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"getUniqueId","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getUniqueId"},{"display_html":"<a href=\"#v:getUniqueTyVar\">getUniqueTyVar</a> :: <a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a> -&gt; <a href=\"Clash-Core-Type.html#t:Kind\" title=\"Clash.Core.Type\">Kind</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>","name":"getUniqueTyVar","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:getUniqueTyVar"},{"display_html":"<a href=\"#v:workFreeValue\">workFreeValue</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"workFreeValue","module":"Clash.Core.PartialEval.Monad","link":"Clash-Core-PartialEval-Monad.html#v:workFreeValue"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Evaluator\">Evaluator</a> = <a href=\"#v:Evaluator\">Evaluator</a> {<ul class=\"subs\"><li><a href=\"#v:evalWhnf\">evalWhnf</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a></li><li><a href=\"#v:quoteNf\">quoteNf</a> :: <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"Clash-Core-PartialEval-Monad.html#t:Eval\" title=\"Clash.Core.PartialEval.Monad\">Eval</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Normal\" title=\"Clash.Core.PartialEval.NormalForm\">Normal</a></li></ul>}","name":"Evaluator quoteNf evalWhnf Evaluator","module":"Clash.Core.PartialEval","link":"Clash-Core-PartialEval.html#t:Evaluator"},{"display_html":"<a href=\"#v:whnf\">whnf</a> :: <a href=\"Clash-Core-PartialEval.html#t:Evaluator\" title=\"Clash.Core.PartialEval\">Evaluator</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a>)","name":"whnf","module":"Clash.Core.PartialEval","link":"Clash-Core-PartialEval.html#v:whnf"},{"display_html":"<a href=\"#v:nf\">nf</a> :: <a href=\"Clash-Core-PartialEval.html#t:Evaluator\" title=\"Clash.Core.PartialEval\">Evaluator</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a>)","name":"nf","module":"Clash.Core.PartialEval","link":"Clash-Core-PartialEval.html#v:nf"},{"display_html":"<a href=\"#v:mkGlobalEnv\">mkGlobalEnv</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a> -&gt; <a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> <a href=\"Clash-Core-PartialEval-NormalForm.html#t:Value\" title=\"Clash.Core.PartialEval.NormalForm\">Value</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Core-PartialEval-NormalForm.html#t:GlobalEnv\" title=\"Clash.Core.PartialEval.NormalForm\">GlobalEnv</a>","name":"mkGlobalEnv","module":"Clash.Core.PartialEval","link":"Clash-Core-PartialEval.html#v:mkGlobalEnv"},{"display_html":"<a href=\"#v:termSize\">termSize</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"termSize","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:termSize"},{"display_html":"<a href=\"#v:multPrimErr\">multPrimErr</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"multPrimErr","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:multPrimErr"},{"display_html":"<a href=\"#v:splitMultiPrimArgs\">splitMultiPrimArgs</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Term.html#t:MultiPrimInfo\" title=\"Clash.Core.Term\">MultiPrimInfo</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; ([<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>], [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>])","name":"splitMultiPrimArgs","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:splitMultiPrimArgs"},{"display_html":"<a href=\"#v:multiPrimInfo-39-\">multiPrimInfo'</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"Clash-Core-Term.html#t:MultiPrimInfo\" title=\"Clash.Core.Term\">MultiPrimInfo</a>","name":"multiPrimInfo'","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:multiPrimInfo-39-"},{"display_html":"<a href=\"#v:multiPrimInfo\">multiPrimInfo</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Term.html#t:MultiPrimInfo\" title=\"Clash.Core.Term\">MultiPrimInfo</a>","name":"multiPrimInfo","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:multiPrimInfo"},{"display_html":"<a href=\"#v:isFun\">isFun</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isFun","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isFun"},{"display_html":"<a href=\"#v:isPolyFun\">isPolyFun</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isPolyFun","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isPolyFun"},{"display_html":"<a href=\"#v:isLet\">isLet</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isLet","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isLet"},{"display_html":"<a href=\"#v:isVar\">isVar</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isVar","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isVar"},{"display_html":"<a href=\"#v:isLocalVar\">isLocalVar</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isLocalVar","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isLocalVar"},{"display_html":"<a href=\"#v:isCon\">isCon</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isCon","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isCon"},{"display_html":"<a href=\"#v:isPrim\">isPrim</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isPrim","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isPrim"},{"display_html":"<a href=\"#v:isTick\">isTick</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isTick","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isTick"},{"display_html":"<a href=\"#v:isCast\">isCast</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isCast","module":"Clash.Core.TermInfo","link":"Clash-Core-TermInfo.html#v:isCast"},{"display_html":"<a href=\"#v:whnf-39-\">whnf'</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Evaluator\" title=\"Clash.Core.Evaluator.Types\">Evaluator</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:PrimHeap\" title=\"Clash.Core.Evaluator.Types\">PrimHeap</a> -&gt; <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Core-Evaluator-Types.html#t:PrimHeap\" title=\"Clash.Core.Evaluator.Types\">PrimHeap</a>, <a href=\"Clash-Core-Evaluator-Types.html#t:PureHeap\" title=\"Clash.Core.Evaluator.Types\">PureHeap</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"whnf'","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:whnf-39-"},{"display_html":"<a href=\"#v:whnf\">whnf</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Evaluator\" title=\"Clash.Core.Evaluator.Types\">Evaluator</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"whnf","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:whnf"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Evaluator\">Evaluator</a> = <a href=\"#v:Evaluator\">Evaluator</a> {<ul class=\"subs\"><li><a href=\"#v:step\">step</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Step\" title=\"Clash.Core.Evaluator.Types\">Step</a></li><li><a href=\"#v:unwind\">unwind</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Unwind\" title=\"Clash.Core.Evaluator.Types\">Unwind</a></li><li><a href=\"#v:primStep\">primStep</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:PrimStep\" title=\"Clash.Core.Evaluator.Types\">PrimStep</a></li><li><a href=\"#v:primUnwind\">primUnwind</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:PrimUnwind\" title=\"Clash.Core.Evaluator.Types\">PrimUnwind</a></li></ul>}","name":"Evaluator primUnwind primStep unwind step Evaluator","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:Evaluator"},{"display_html":"<a href=\"#v:unwindStack\">unwindStack</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"unwindStack","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:unwindStack"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Step\">Step</a> = <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"Step","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:Step"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Unwind\">Unwind</a> = <a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Step\" title=\"Clash.Core.Evaluator.Types\">Step</a>","name":"Unwind","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:Unwind"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:PrimStep\">PrimStep</a> = <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; [<a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a>] -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"PrimStep","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:PrimStep"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:PrimUnwind\">PrimUnwind</a> = <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; [<a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a>] -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"PrimUnwind","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:PrimUnwind"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Machine\">Machine</a> = <a href=\"#v:Machine\">Machine</a> {<ul class=\"subs\"><li><a href=\"#v:mHeapPrim\">mHeapPrim</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:PrimHeap\" title=\"Clash.Core.Evaluator.Types\">PrimHeap</a></li><li><a href=\"#v:mHeapGlobal\">mHeapGlobal</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:PureHeap\" title=\"Clash.Core.Evaluator.Types\">PureHeap</a></li><li><a href=\"#v:mHeapLocal\">mHeapLocal</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:PureHeap\" title=\"Clash.Core.Evaluator.Types\">PureHeap</a></li><li><a href=\"#v:mStack\">mStack</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Stack\" title=\"Clash.Core.Evaluator.Types\">Stack</a></li><li><a href=\"#v:mSupply\">mSupply</a> :: <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a></li><li><a href=\"#v:mScopeNames\">mScopeNames</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a></li><li><a href=\"#v:mTerm\">mTerm</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li></ul>}","name":"Machine mScopeNames mSupply mHeapGlobal mStack mTerm mHeapLocal mHeapPrim Machine","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:Machine"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:PrimHeap\">PrimHeap</a> = (<a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)","name":"PrimHeap","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:PrimHeap"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:PureHeap\">PureHeap</a> = <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"PureHeap","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:PureHeap"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Stack\">Stack</a> = [<a href=\"Clash-Core-Evaluator-Types.html#t:StackFrame\" title=\"Clash.Core.Evaluator.Types\">StackFrame</a>]","name":"Stack","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:Stack"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:StackFrame\">StackFrame</a><ul class=\"subs\"><li>= <a href=\"#v:Update\">Update</a> <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li>| <a href=\"#v:Apply\">Apply</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li>| <a href=\"#v:Instantiate\">Instantiate</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:PrimApply\">PrimApply</a> <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] [<a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a>] [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>]</li><li>| <a href=\"#v:Scrutinise\">Scrutinise</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> [<a href=\"Clash-Core-Term.html#t:Alt\" title=\"Clash.Core.Term\">Alt</a>]</li><li>| <a href=\"#v:Tickish\">Tickish</a> <a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a></li></ul>","name":"StackFrame Tickish Update Instantiate PrimApply Scrutinise Apply","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:StackFrame"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Value\">Value</a><ul class=\"subs\"><li>= <a href=\"#v:Lambda\">Lambda</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li>| <a href=\"#v:TyLambda\">TyLambda</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li>| <a href=\"#v:DC\">DC</a> <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]</li><li>| <a href=\"#v:Lit\">Lit</a> <a href=\"Clash-Core-Literal.html#t:Literal\" title=\"Clash.Core.Literal\">Literal</a></li><li>| <a href=\"#v:PrimVal\">PrimVal</a> <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] [<a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a>]</li><li>| <a href=\"#v:Suspend\">Suspend</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li>| <a href=\"#v:TickValue\">TickValue</a> <a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a> <a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a></li><li>| <a href=\"#v:CastValue\">CastValue</a> <a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li></ul>","name":"Value CastValue TickValue PrimVal TyLambda DC Suspend Lambda Lit","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#t:Value"},{"display_html":"<a href=\"#v:valToTerm\">valToTerm</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"valToTerm","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:valToTerm"},{"display_html":"<a href=\"#v:collectValueTicks\">collectValueTicks</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a> -&gt; (<a href=\"Clash-Core-Evaluator-Types.html#t:Value\" title=\"Clash.Core.Evaluator.Types\">Value</a>, [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>])","name":"collectValueTicks","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:collectValueTicks"},{"display_html":"<a href=\"#v:forcePrims\">forcePrims</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"forcePrims","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:forcePrims"},{"display_html":"<a href=\"#v:primCount\">primCount</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"primCount","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:primCount"},{"display_html":"<a href=\"#v:primLookup\">primLookup</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"primLookup","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:primLookup"},{"display_html":"<a href=\"#v:primInsert\">primInsert</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"primInsert","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:primInsert"},{"display_html":"<a href=\"#v:primUpdate\">primUpdate</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"primUpdate","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:primUpdate"},{"display_html":"<a href=\"#v:heapLookup\">heapLookup</a> :: <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"heapLookup","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:heapLookup"},{"display_html":"<a href=\"#v:heapContains\">heapContains</a> :: <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"heapContains","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:heapContains"},{"display_html":"<a href=\"#v:heapInsert\">heapInsert</a> :: <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"heapInsert","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:heapInsert"},{"display_html":"<a href=\"#v:heapDelete\">heapDelete</a> :: <a href=\"Clash-Core-Var.html#t:IdScope\" title=\"Clash.Core.Var\">IdScope</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"heapDelete","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:heapDelete"},{"display_html":"<a href=\"#v:stackPush\">stackPush</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:StackFrame\" title=\"Clash.Core.Evaluator.Types\">StackFrame</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"stackPush","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:stackPush"},{"display_html":"<a href=\"#v:stackPop\">stackPop</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>, <a href=\"Clash-Core-Evaluator-Types.html#t:StackFrame\" title=\"Clash.Core.Evaluator.Types\">StackFrame</a>)","name":"stackPop","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:stackPop"},{"display_html":"<a href=\"#v:stackClear\">stackClear</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"stackClear","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:stackClear"},{"display_html":"<a href=\"#v:stackNull\">stackNull</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"stackNull","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:stackNull"},{"display_html":"<a href=\"#v:getTerm\">getTerm</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"getTerm","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:getTerm"},{"display_html":"<a href=\"#v:setTerm\">setTerm</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Machine\" title=\"Clash.Core.Evaluator.Types\">Machine</a>","name":"setTerm","module":"Clash.Core.Evaluator.Types","link":"Clash-Core-Evaluator-Types.html#v:setTerm"},{"display_html":"<a href=\"#v:tclConnector\">tclConnector</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"tclConnector","module":"Clash.DataFiles","link":"Clash-DataFiles.html#v:tclConnector"},{"display_html":"<a href=\"#v:primsRoot\">primsRoot</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"primsRoot","module":"Clash.Backend","link":"Clash-Backend.html#v:primsRoot"},{"display_html":"<a href=\"#v:clashVer\">clashVer</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"clashVer","module":"Clash.Backend","link":"Clash-Backend.html#v:clashVer"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ModName\">ModName</a> = <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"ModName","module":"Clash.Backend","link":"Clash-Backend.html#t:ModName"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Usage\">Usage</a><ul class=\"subs\"><li>= <a href=\"#v:Internal\">Internal</a></li><li>| <a href=\"#v:External\">External</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li></ul>","name":"Usage External Internal","module":"Clash.Backend","link":"Clash-Backend.html#t:Usage"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:AggressiveXOptBB\">AggressiveXOptBB</a> = <a href=\"#v:AggressiveXOptBB\">AggressiveXOptBB</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"AggressiveXOptBB AggressiveXOptBB","module":"Clash.Backend","link":"Clash-Backend.html#t:AggressiveXOptBB"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:RenderEnums\">RenderEnums</a> = <a href=\"#v:RenderEnums\">RenderEnums</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"RenderEnums RenderEnums","module":"Clash.Backend","link":"Clash-Backend.html#t:RenderEnums"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:HWKind\">HWKind</a><ul class=\"subs\"><li>= <a href=\"#v:PrimitiveType\">PrimitiveType</a></li><li>| <a href=\"#v:SynonymType\">SynonymType</a></li><li>| <a href=\"#v:UserType\">UserType</a></li></ul>","name":"HWKind UserType SynonymType PrimitiveType","module":"Clash.Backend","link":"Clash-Backend.html#t:HWKind"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:DomainMap\">DomainMap</a> = <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> VDomainConfiguration","name":"DomainMap","module":"Clash.Backend","link":"Clash-Backend.html#t:DomainMap"},{"display_html":"<a href=\"#v:emptyDomainMap\">emptyDomainMap</a> :: <a href=\"Clash-Backend.html#t:DomainMap\" title=\"Clash.Backend\">DomainMap</a>","name":"emptyDomainMap","module":"Clash.Backend","link":"Clash-Backend.html#v:emptyDomainMap"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:HasUsageMap\">HasUsageMap</a> s <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:usageMap\">usageMap</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s <a href=\"Clash-Netlist-Types.html#t:UsageMap\" title=\"Clash.Netlist.Types\">UsageMap</a></li></ul>","name":"HasUsageMap usageMap","module":"Clash.Backend","link":"Clash-Backend.html#t:HasUsageMap"},{"display_html":"<span class=\"keyword\">class</span> (<a href=\"Clash-Backend.html#t:HasUsageMap\" title=\"Clash.Backend\">HasUsageMap</a> state, <a href=\"Clash-Netlist-Types.html#t:HasIdentifierSet\" title=\"Clash.Netlist.Types\">HasIdentifierSet</a> state) =&gt; <a href=\"#t:Backend\">Backend</a> state <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:initBackend\">initBackend</a> :: <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a> -&gt; state</li><li><a href=\"#v:hdlKind\">hdlKind</a> :: state -&gt; HDL</li><li><a href=\"#v:primDirs\">primDirs</a> :: state -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>]</li><li><a href=\"#v:name\">name</a> :: state -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li><a href=\"#v:extension\">extension</a> :: state -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li><a href=\"#v:extractTypes\">extractTypes</a> :: state -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashSet.html#t:HashSet\" title=\"Data.HashSet\">HashSet</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li><li><a href=\"#v:genHDL\">genHDL</a> :: <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a> -&gt; <a href=\"Clash-Backend.html#t:ModName\" title=\"Clash.Backend\">ModName</a> -&gt; <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:UsageMap\" title=\"Clash.Netlist.Types\">UsageMap</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) ((<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>), [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>)])</li><li><a href=\"#v:mkTyPackage\">mkTyPackage</a> :: <a href=\"Clash-Backend.html#t:ModName\" title=\"Clash.Backend\">ModName</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>)]</li><li><a href=\"#v:hdlType\">hdlType</a> :: <a href=\"Clash-Backend.html#t:Usage\" title=\"Clash.Backend\">Usage</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:hdlHWTypeKind\">hdlHWTypeKind</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Clash-Backend.html#t:HWKind\" title=\"Clash.Backend\">HWKind</a></li><li><a href=\"#v:hdlTypeErrValue\">hdlTypeErrValue</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:hdlTypeMark\">hdlTypeMark</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:hdlRecSel\">hdlRecSel</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:hdlSig\">hdlSig</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:genStmt\">genStmt</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:inst\">inst</a> :: <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>)</li><li><a href=\"#v:expr\">expr</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:iwWidth\">iwWidth</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:toBV\">toBV</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:fromBV\">fromBV</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:hdlSyn\">hdlSyn</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Clash-Netlist-BlackBox-Types.html#t:HdlSyn\" title=\"Clash.Netlist.BlackBox.Types\">HdlSyn</a></li><li><a href=\"#v:setModName\">setModName</a> :: <a href=\"Clash-Backend.html#t:ModName\" title=\"Clash.Backend\">ModName</a> -&gt; state -&gt; state</li><li><a href=\"#v:setTopName\">setTopName</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; state -&gt; state</li><li><a href=\"#v:getTopName\">getTopName</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a></li><li><a href=\"#v:setSrcSpan\">setSrcSpan</a> :: <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state ()</li><li><a href=\"#v:getSrcSpan\">getSrcSpan</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a></li><li><a href=\"#v:blockDecl\">blockDecl</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a></li><li><a href=\"#v:addIncludes\">addIncludes</a> :: [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>)] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state ()</li><li><a href=\"#v:addLibraries\">addLibraries</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state ()</li><li><a href=\"#v:addImports\">addImports</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state ()</li><li><a href=\"#v:addAndSetData\">addAndSetData</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li><a href=\"#v:getDataFiles\">getDataFiles</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>)]</li><li><a href=\"#v:addMemoryDataFile\">addMemoryDataFile</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>) -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state ()</li><li><a href=\"#v:getMemoryDataFiles\">getMemoryDataFiles</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>)]</li><li><a href=\"#v:ifThenElseExpr\">ifThenElseExpr</a> :: state -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:aggressiveXOptBB\">aggressiveXOptBB</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Clash-Backend.html#t:AggressiveXOptBB\" title=\"Clash.Backend\">AggressiveXOptBB</a></li><li><a href=\"#v:renderEnums\">renderEnums</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Clash-Backend.html#t:RenderEnums\" title=\"Clash.Backend\">RenderEnums</a></li><li><a href=\"#v:domainConfigurations\">domainConfigurations</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> state <a href=\"Clash-Backend.html#t:DomainMap\" title=\"Clash.Backend\">DomainMap</a></li><li><a href=\"#v:setDomainConfigurations\">setDomainConfigurations</a> :: <a href=\"Clash-Backend.html#t:DomainMap\" title=\"Clash.Backend\">DomainMap</a> -&gt; state -&gt; state</li></ul>","name":"Backend setDomainConfigurations domainConfigurations renderEnums aggressiveXOptBB ifThenElseExpr getMemoryDataFiles addMemoryDataFile getDataFiles addAndSetData addImports addLibraries addIncludes getTopName setTopName setModName hdlSyn iwWidth hdlSig hdlRecSel hdlTypeMark mkTyPackage genHDL extractTypes primDirs initBackend blockDecl hdlTypeErrValue expr fromBV toBV hdlKind hdlHWTypeKind hdlType extension genStmt setSrcSpan getSrcSpan inst name","module":"Clash.Backend","link":"Clash-Backend.html#t:Backend"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Declaration\">Declaration</a> <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:Assignment\">Assignment</a> !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> !<a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> !<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a></li><li><a href=\"#v:CondAssignment\">CondAssignment</a> !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> !<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> [(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)]</li><li><a href=\"#v:InstDecl\">InstDecl</a> <a href=\"Clash-Netlist-Types.html#t:EntityOrComponent\" title=\"Clash.Netlist.Types\">EntityOrComponent</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)] <a href=\"Clash-Netlist-Types.html#t:PortMap\" title=\"Clash.Netlist.Types\">PortMap</a></li><li><a href=\"#v:BlackBoxD\">BlackBoxD</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] [((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>), <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>)] !<a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a></li><li><a href=\"#v:CompDecl\">CompDecl</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"Clash-Netlist-Types.html#t:PortDirection\" title=\"Clash.Netlist.Types\">PortDirection</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)]</li><li><a href=\"#v:NetDecl-39-\">NetDecl'</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Comment\" title=\"Clash.Netlist.Types\">Comment</a>) !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)</li><li><a href=\"#v:TickDecl\">TickDecl</a> <a href=\"Clash-Netlist-Types.html#t:CommentOrDirective\" title=\"Clash.Netlist.Types\">CommentOrDirective</a></li><li><a href=\"#v:Seq\">Seq</a> [<a href=\"Clash-Netlist-Types.html#t:Seq\" title=\"Clash.Netlist.Types\">Seq</a>]</li><li><a href=\"#v:ConditionalDecl\">ConditionalDecl</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]</li><li><span class=\"keyword\">pattern</span> <a href=\"#v:NetDecl\">NetDecl</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Comment\" title=\"Clash.Netlist.Types\">Comment</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a></li></ul>","name":"Declaration NetDecl Seq InstDecl Assignment BlackBoxD CondAssignment CompDecl NetDecl' TickDecl ConditionalDecl","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Declaration"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Bit\">Bit</a><ul class=\"subs\"><li>= <a href=\"#v:H\">H</a></li><li>| <a href=\"#v:L\">L</a></li><li>| <a href=\"#v:U\">U</a></li><li>| <a href=\"#v:Z\">Z</a></li></ul>","name":"Bit L H Z U","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Bit"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Comment\">Comment</a> = <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"Comment","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Comment"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Size\">Size</a> = <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"Size","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Size"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Seq\">Seq</a><ul class=\"subs\"><li>= <a href=\"#v:AlwaysClocked\">AlwaysClocked</a> ActiveEdge <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> [<a href=\"Clash-Netlist-Types.html#t:Seq\" title=\"Clash.Netlist.Types\">Seq</a>]</li><li>| <a href=\"#v:Initial\">Initial</a> [<a href=\"Clash-Netlist-Types.html#t:Seq\" title=\"Clash.Netlist.Types\">Seq</a>]</li><li>| <a href=\"#v:AlwaysComb\">AlwaysComb</a> [<a href=\"Clash-Netlist-Types.html#t:Seq\" title=\"Clash.Netlist.Types\">Seq</a>]</li><li>| <a href=\"#v:SeqDecl\">SeqDecl</a> <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a></li><li>| <a href=\"#v:Branch\">Branch</a> !<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> [(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a>, [<a href=\"Clash-Netlist-Types.html#t:Seq\" title=\"Clash.Netlist.Types\">Seq</a>])]</li></ul>","name":"Seq Branch AlwaysClocked Initial AlwaysComb SeqDecl","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Seq"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Expr\">Expr</a><ul class=\"subs\"><li>= <a href=\"#v:Literal\">Literal</a> !(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a>)) !<a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a></li><li>| <a href=\"#v:DataCon\">DataCon</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> !<a href=\"Clash-Netlist-Types.html#t:Modifier\" title=\"Clash.Netlist.Types\">Modifier</a> [<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>]</li><li>| <a href=\"#v:Identifier\">Identifier</a> !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> !(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Modifier\" title=\"Clash.Netlist.Types\">Modifier</a>)</li><li>| <a href=\"#v:DataTag\">DataTag</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> !(<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)</li><li>| <a href=\"#v:BlackBoxE\">BlackBoxE</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] [((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>), <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>)] !<a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> !<a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li>| <a href=\"#v:ToBv\">ToBv</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>) <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a></li><li>| <a href=\"#v:FromBv\">FromBv</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>) <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a></li><li>| <a href=\"#v:IfThenElse\">IfThenElse</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a></li><li>| <a href=\"#v:Noop\">Noop</a></li></ul>","name":"Expr DataCon Literal Identifier IfThenElse BlackBoxE DataTag ToBv FromBv Noop","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Expr"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Usage\">Usage</a><ul class=\"subs\"><li>= <a href=\"#v:Cont\">Cont</a></li><li>| <a href=\"#v:Proc\">Proc</a> <a href=\"Clash-Netlist-Types.html#t:Blocking\" title=\"Clash.Netlist.Types\">Blocking</a></li></ul>","name":"Usage Cont Proc","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Usage"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Literal\">Literal</a><ul class=\"subs\"><li>= <a href=\"#v:NumLit\">NumLit</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:BitLit\">BitLit</a> !<a href=\"Clash-Netlist-Types.html#t:Bit\" title=\"Clash.Netlist.Types\">Bit</a></li><li>| <a href=\"#v:BitVecLit\">BitVecLit</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:BoolLit\">BoolLit</a> !<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li>| <a href=\"#v:VecLit\">VecLit</a> [<a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a>]</li><li>| <a href=\"#v:StringLit\">StringLit</a> !<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li></ul>","name":"Literal BoolLit StringLit NumLit BitLit BitVecLit VecLit","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Literal"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Identifier\">Identifier</a><ul class=\"subs\"><li>= <a href=\"#v:RawIdentifier\">RawIdentifier</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>) !<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:CallStack\" title=\"GHC.Stack\">CallStack</a></li><li>| <a href=\"#v:UniqueIdentifier\">UniqueIdentifier</a> { <ul class=\"subs\"><li><a href=\"#v:i_baseName\">i_baseName</a> :: !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:i_baseNameCaseFold\">i_baseNameCaseFold</a> :: !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:i_extensionsRev\">i_extensionsRev</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>]</li><li><a href=\"#v:i_idType\">i_idType</a> :: !<a href=\"Clash-Netlist-Types.html#t:IdentifierType\" title=\"Clash.Netlist.Types\">IdentifierType</a></li><li><a href=\"#v:i_hdl\">i_hdl</a> :: !HDL</li><li><a href=\"#v:i_provenance\">i_provenance</a> :: !<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:CallStack\" title=\"GHC.Stack\">CallStack</a></li></ul> }</li></ul>","name":"Identifier RawIdentifier UniqueIdentifier i_baseName i_baseNameCaseFold i_extensionsRev i_idType i_hdl i_provenance","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Identifier"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Component\">Component</a> = <a href=\"#v:Component\">Component</a> {<ul class=\"subs\"><li><a href=\"#v:componentName\">componentName</a> :: !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a></li><li><a href=\"#v:inputs\">inputs</a> :: [(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)]</li><li><a href=\"#v:outputs\">outputs</a> :: [(<a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a>, (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>), <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)]</li><li><a href=\"#v:declarations\">declarations</a> :: [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]</li></ul>}","name":"Component Component componentName inputs outputs declarations","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Component"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Declaration\">Declaration</a><ul class=\"subs\"><li>= <a href=\"#v:Assignment\">Assignment</a> !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> !<a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> !<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a></li><li>| <a href=\"#v:CondAssignment\">CondAssignment</a> !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> !<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> [(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)]</li><li>| <a href=\"#v:InstDecl\">InstDecl</a> <a href=\"Clash-Netlist-Types.html#t:EntityOrComponent\" title=\"Clash.Netlist.Types\">EntityOrComponent</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)] <a href=\"Clash-Netlist-Types.html#t:PortMap\" title=\"Clash.Netlist.Types\">PortMap</a></li><li>| <a href=\"#v:BlackBoxD\">BlackBoxD</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] [((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>), <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>)] !<a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a></li><li>| <a href=\"#v:CompDecl\">CompDecl</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"Clash-Netlist-Types.html#t:PortDirection\" title=\"Clash.Netlist.Types\">PortDirection</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)]</li><li>| <a href=\"#v:NetDecl-39-\">NetDecl'</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Comment\" title=\"Clash.Netlist.Types\">Comment</a>) !<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)</li><li>| <a href=\"#v:TickDecl\">TickDecl</a> <a href=\"Clash-Netlist-Types.html#t:CommentOrDirective\" title=\"Clash.Netlist.Types\">CommentOrDirective</a></li><li>| <a href=\"#v:Seq\">Seq</a> [<a href=\"Clash-Netlist-Types.html#t:Seq\" title=\"Clash.Netlist.Types\">Seq</a>]</li><li>| <a href=\"#v:ConditionalDecl\">ConditionalDecl</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]</li></ul>","name":"Declaration Seq InstDecl Assignment BlackBoxD CondAssignment CompDecl NetDecl' TickDecl ConditionalDecl","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Declaration"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:HWType\">HWType</a><ul class=\"subs\"><li>= <a href=\"#v:Void\">Void</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)</li><li>| <a href=\"#v:String\">String</a></li><li>| <a href=\"#v:Integer\">Integer</a></li><li>| <a href=\"#v:Bool\">Bool</a></li><li>| <a href=\"#v:Bit\">Bit</a></li><li>| <a href=\"#v:BitVector\">BitVector</a> !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a></li><li>| <a href=\"#v:Index\">Index</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li><li>| <a href=\"#v:Signed\">Signed</a> !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a></li><li>| <a href=\"#v:Unsigned\">Unsigned</a> !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a></li><li>| <a href=\"#v:Vector\">Vector</a> !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li><li>| <a href=\"#v:MemBlob\">MemBlob</a> !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a></li><li>| <a href=\"#v:RTree\">RTree</a> !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li><li>| <a href=\"#v:Sum\">Sum</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li><li>| <a href=\"#v:Product\">Product</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]) [<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>]</li><li>| <a href=\"#v:SP\">SP</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, [<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>])]</li><li>| <a href=\"#v:Clock\">Clock</a> !<a href=\"Clash-Netlist-Types.html#t:DomainName\" title=\"Clash.Netlist.Types\">DomainName</a></li><li>| <a href=\"#v:ClockN\">ClockN</a> !<a href=\"Clash-Netlist-Types.html#t:DomainName\" title=\"Clash.Netlist.Types\">DomainName</a></li><li>| <a href=\"#v:Reset\">Reset</a> !<a href=\"Clash-Netlist-Types.html#t:DomainName\" title=\"Clash.Netlist.Types\">DomainName</a></li><li>| <a href=\"#v:Enable\">Enable</a> !<a href=\"Clash-Netlist-Types.html#t:DomainName\" title=\"Clash.Netlist.Types\">DomainName</a></li><li>| <a href=\"#v:BiDirectional\">BiDirectional</a> !<a href=\"Clash-Netlist-Types.html#t:PortDirection\" title=\"Clash.Netlist.Types\">PortDirection</a> !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li><li>| <a href=\"#v:CustomSP\">CustomSP</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> !DataRepr' !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> [(ConstrRepr', <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, [<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>])]</li><li>| <a href=\"#v:CustomSum\">CustomSum</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> !DataRepr' !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> [(ConstrRepr', <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>)]</li><li>| <a href=\"#v:CustomProduct\">CustomProduct</a> !<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> !DataRepr' !<a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]) [(FieldAnn, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)]</li><li>| <a href=\"#v:Annotated\">Annotated</a> [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] !<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li><li>| <a href=\"#v:KnownDomain\">KnownDomain</a> !<a href=\"Clash-Netlist-Types.html#t:DomainName\" title=\"Clash.Netlist.Types\">DomainName</a> !<a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> !ActiveEdge !ResetKind !InitBehavior !ResetPolarity</li><li>| <a href=\"#v:FileType\">FileType</a></li></ul>","name":"HWType Bool Integer Void String Index Vector Reset Sum Product Bit Clock FileType Signed Unsigned Annotated ClockN BitVector KnownDomain Enable RTree SP BiDirectional MemBlob CustomSP CustomSum CustomProduct","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:HWType"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IdentifierSet\">IdentifierSet</a> = <a href=\"#v:IdentifierSet\">IdentifierSet</a> {<ul class=\"subs\"><li><a href=\"#v:is_allowEscaped\">is_allowEscaped</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:is_lowerCaseBasicIds\">is_lowerCaseBasicIds</a> :: !<a href=\"Clash-Netlist-Types.html#t:PreserveCase\" title=\"Clash.Netlist.Types\">PreserveCase</a></li><li><a href=\"#v:is_hdl\">is_hdl</a> :: !HDL</li><li><a href=\"#v:is_freshCache\">is_freshCache</a> :: !<a href=\"Clash-Netlist-Types.html#t:FreshCache\" title=\"Clash.Netlist.Types\">FreshCache</a></li><li><a href=\"#v:is_store\">is_store</a> :: !(<a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashSet.html#t:HashSet\" title=\"Data.HashSet\">HashSet</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)</li></ul>}","name":"IdentifierSet IdentifierSet is_allowEscaped is_lowerCaseBasicIds is_hdl is_freshCache is_store","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:IdentifierSet"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:HasIdentifierSet\">HasIdentifierSet</a> s <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:identifierSet\">identifierSet</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a></li></ul>","name":"HasIdentifierSet identifierSet","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:HasIdentifierSet"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:UsageMap\">UsageMap</a> = <a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a>","name":"UsageMap","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:UsageMap"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:IdentifierText\">IdentifierText</a> = <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"IdentifierText","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:IdentifierText"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:BlackBox\">BlackBox</a><ul class=\"subs\"><li>= <a href=\"#v:BBTemplate\">BBTemplate</a> <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a></li><li>| <a href=\"#v:BBFunction\">BBFunction</a> <a href=\"Clash-Netlist-Types.html#t:BBName\" title=\"Clash.Netlist.Types\">BBName</a> <a href=\"Clash-Netlist-Types.html#t:BBHash\" title=\"Clash.Netlist.Types\">BBHash</a> <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a></li></ul>","name":"BlackBox BBTemplate BBFunction","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:BlackBox"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:FilteredHWType\">FilteredHWType</a> = <a href=\"#v:FilteredHWType\">FilteredHWType</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> [[(<a href=\"Clash-Netlist-Types.html#t:IsVoid\" title=\"Clash.Netlist.Types\">IsVoid</a>, <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)]]","name":"FilteredHWType FilteredHWType","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:FilteredHWType"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:HWMap\">HWMap</a> = <a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)","name":"HWMap","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:HWMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SomeBackend\">SomeBackend</a> <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:SomeBackend\">SomeBackend</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; backend -&gt; <a href=\"Clash-Netlist-Types.html#t:SomeBackend\" title=\"Clash.Netlist.Types\">SomeBackend</a></li></ul>","name":"SomeBackend SomeBackend","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:SomeBackend"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TopEntityT\">TopEntityT</a> = <a href=\"#v:TopEntityT\">TopEntityT</a> {<ul class=\"subs\"><li><a href=\"#v:topId\">topId</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li><a href=\"#v:topAnnotation\">topAnnotation</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> TopEntity</li><li><a href=\"#v:topIsTestBench\">topIsTestBench</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"TopEntityT TopEntityT topId topAnnotation topIsTestBench","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:TopEntityT"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TemplateFunction\">TemplateFunction</a> <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:TemplateFunction\">TemplateFunction</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>] -&gt; (<a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; (<span class=\"keyword\">forall</span> s. <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a></li></ul>","name":"TemplateFunction TemplateFunction","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:TemplateFunction"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ComponentMap\">ComponentMap</a> = <a href=\"/package/ordered-containers-0.2.4/docs/Data-Map-Ordered-Strict.html#t:OMap\" title=\"Data.Map.Ordered.Strict\">OMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> (<a href=\"Clash-Netlist-Types.html#t:ComponentMeta\" title=\"Clash.Netlist.Types\">ComponentMeta</a>, <a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a>)","name":"ComponentMap","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:ComponentMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ComponentMeta\">ComponentMeta</a> = <a href=\"#v:ComponentMeta\">ComponentMeta</a> {<ul class=\"subs\"><li><a href=\"#v:cmWereVoids\">cmWereVoids</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>]</li><li><a href=\"#v:cmLoc\">cmLoc</a> :: <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a></li><li><a href=\"#v:cmScope\">cmScope</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a></li><li><a href=\"#v:cmUsage\">cmUsage</a> :: <a href=\"Clash-Netlist-Types.html#t:UsageMap\" title=\"Clash.Netlist.Types\">UsageMap</a></li></ul>}","name":"ComponentMeta ComponentMeta cmWereVoids cmLoc cmScope cmUsage","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:ComponentMeta"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PreserveCase\">PreserveCase</a><ul class=\"subs\"><li>= <a href=\"#v:PreserveCase\">PreserveCase</a></li><li>| <a href=\"#v:ToLower\">ToLower</a></li></ul>","name":"PreserveCase PreserveCase ToLower","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:PreserveCase"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:NetlistMonad\">NetlistMonad</a> a = <a href=\"#v:NetlistMonad\">NetlistMonad</a> {<ul class=\"subs\"><li><a href=\"#v:runNetlist\">runNetlist</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:StateT\" title=\"Control.Monad.State.Strict\">StateT</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-Reader.html#t:ReaderT\" title=\"Control.Monad.Reader\">ReaderT</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a>) a</li></ul>}","name":"NetlistMonad NetlistMonad runNetlist","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:NetlistMonad"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:BlackBoxContext\">BlackBoxContext</a> = <a href=\"#v:Context\">Context</a> {<ul class=\"subs\"><li><a href=\"#v:bbName\">bbName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:bbResults\">bbResults</a> :: [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)]</li><li><a href=\"#v:bbInputs\">bbInputs</a> :: [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>)]</li><li><a href=\"#v:bbFunctions\">bbFunctions</a> :: <a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> [(<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]), <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a>, [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>], [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>], [((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>), <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>)], <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a>)]</li><li><a href=\"#v:bbQsysIncName\">bbQsysIncName</a> :: [<a href=\"Clash-Netlist-Types.html#t:IdentifierText\" title=\"Clash.Netlist.Types\">IdentifierText</a>]</li><li><a href=\"#v:bbLevel\">bbLevel</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:bbCompName\">bbCompName</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a></li><li><a href=\"#v:bbCtxName\">bbCtxName</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:IdentifierText\" title=\"Clash.Netlist.Types\">IdentifierText</a></li></ul>}","name":"BlackBoxContext Context bbInputs bbName bbResults bbFunctions bbQsysIncName bbLevel bbCompName bbCtxName","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:BlackBoxContext"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Modifier\">Modifier</a><ul class=\"subs\"><li>= <a href=\"#v:Indexed\">Indexed</a> (<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li>| <a href=\"#v:DC\">DC</a> (<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li>| <a href=\"#v:VecAppend\">VecAppend</a></li><li>| <a href=\"#v:RTreeAppend\">RTreeAppend</a></li><li>| <a href=\"#v:Sliced\">Sliced</a> (<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li>| <a href=\"#v:Nested\">Nested</a> <a href=\"Clash-Netlist-Types.html#t:Modifier\" title=\"Clash.Netlist.Types\">Modifier</a> <a href=\"Clash-Netlist-Types.html#t:Modifier\" title=\"Clash.Netlist.Types\">Modifier</a></li></ul>","name":"Modifier Indexed Nested DC VecAppend RTreeAppend Sliced","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Modifier"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"#t:IdentifierSetMonad\">IdentifierSetMonad</a> m <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:identifierSetM\">identifierSetM</a> :: (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>) -&gt; m <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a></li></ul>","name":"IdentifierSetMonad identifierSetM","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:IdentifierSetMonad"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IdentifierType\">IdentifierType</a><ul class=\"subs\"><li>= <a href=\"#v:Basic\">Basic</a></li><li>| <a href=\"#v:Extended\">Extended</a></li></ul>","name":"IdentifierType Basic Extended","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:IdentifierType"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:FreshCache\">FreshCache</a> = <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> (<a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>)","name":"FreshCache","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:FreshCache"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NetlistId\">NetlistId</a><ul class=\"subs\"><li>= <a href=\"#v:NetlistId\">NetlistId</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a></li><li>| <a href=\"#v:CoreId\">CoreId</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li>| <a href=\"#v:MultiId\">MultiId</a> [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>]</li></ul>","name":"NetlistId NetlistId CoreId MultiId","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:NetlistId"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:DeclarationType\">DeclarationType</a><ul class=\"subs\"><li>= <a href=\"#v:Concurrent\">Concurrent</a></li><li>| <a href=\"#v:Sequential\">Sequential</a></li></ul>","name":"DeclarationType Concurrent Sequential","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:DeclarationType"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:CommentOrDirective\">CommentOrDirective</a><ul class=\"subs\"><li>= <a href=\"#v:Comment\">Comment</a> <a href=\"Clash-Netlist-Types.html#t:Comment\" title=\"Clash.Netlist.Types\">Comment</a></li><li>| <a href=\"#v:Directive\">Directive</a> <a href=\"Clash-Netlist-Types.html#t:Directive\" title=\"Clash.Netlist.Types\">Directive</a></li></ul>","name":"CommentOrDirective Comment Directive","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:CommentOrDirective"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Blocking\">Blocking</a><ul class=\"subs\"><li>= <a href=\"#v:NonBlocking\">NonBlocking</a></li><li>| <a href=\"#v:Blocking\">Blocking</a></li></ul>","name":"Blocking Blocking NonBlocking","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Blocking"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ExpandedTopEntity\">ExpandedTopEntity</a> a = <a href=\"#v:ExpandedTopEntity\">ExpandedTopEntity</a> {<ul class=\"subs\"><li><a href=\"#v:et_inputs\">et_inputs</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> a)]</li><li><a href=\"#v:et_output\">et_output</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> a)</li></ul>}","name":"ExpandedTopEntity ExpandedTopEntity et_inputs et_output","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:ExpandedTopEntity"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ExpandedPortName\">ExpandedPortName</a> a<ul class=\"subs\"><li>= <a href=\"#v:ExpandedPortName\">ExpandedPortName</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> a</li><li>| <a href=\"#v:ExpandedPortProduct\">ExpandedPortProduct</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> [<a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> a]</li></ul>","name":"ExpandedPortName ExpandedPortName ExpandedPortProduct","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:ExpandedPortName"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NetlistState\">NetlistState</a> = <a href=\"#v:NetlistState\">NetlistState</a> {<ul class=\"subs\"><li><a href=\"#v:_bindings\">_bindings</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a></li><li><a href=\"#v:_components\">_components</a> :: <a href=\"Clash-Netlist-Types.html#t:ComponentMap\" title=\"Clash.Netlist.Types\">ComponentMap</a></li><li><a href=\"#v:_typeTranslator\">_typeTranslator</a> :: CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))</li><li><a href=\"#v:_curCompNm\">_curCompNm</a> :: !(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a>)</li><li><a href=\"#v:_seenIds\">_seenIds</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a></li><li><a href=\"#v:_seenComps\">_seenComps</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a></li><li><a href=\"#v:_seenPrimitives\">_seenPrimitives</a> :: <a href=\"/package/containers-0.6.7/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:_componentNames\">_componentNames</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a></li><li><a href=\"#v:_topEntityAnns\">_topEntityAnns</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a></li><li><a href=\"#v:_hdlDir\">_hdlDir</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a></li><li><a href=\"#v:_curBBlvl\">_curBBlvl</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:_isTestBench\">_isTestBench</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:_backEndITE\">_backEndITE</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:_backend\">_backend</a> :: <a href=\"Clash-Netlist-Types.html#t:SomeBackend\" title=\"Clash.Netlist.Types\">SomeBackend</a></li><li><a href=\"#v:_htyCache\">_htyCache</a> :: <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a></li><li><a href=\"#v:_usages\">_usages</a> :: <a href=\"Clash-Netlist-Types.html#t:UsageMap\" title=\"Clash.Netlist.Types\">UsageMap</a></li></ul>}","name":"NetlistState NetlistState _usages _bindings _components _typeTranslator _curCompNm _seenIds _seenComps _seenPrimitives _componentNames _topEntityAnns _hdlDir _curBBlvl _isTestBench _backEndITE _backend _htyCache","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:NetlistState"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NetlistEnv\">NetlistEnv</a> = <a href=\"#v:NetlistEnv\">NetlistEnv</a> {<ul class=\"subs\"><li><a href=\"#v:_clashEnv\">_clashEnv</a> :: <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a></li><li><a href=\"#v:_prefixName\">_prefixName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:_suffixName\">_suffixName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:_setName\">_setName</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li></ul>}","name":"NetlistEnv NetlistEnv _clashEnv _prefixName _suffixName _setName","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:NetlistEnv"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ComponentPrefix\">ComponentPrefix</a> = <a href=\"#v:ComponentPrefix\">ComponentPrefix</a> {<ul class=\"subs\"><li><a href=\"#v:componentPrefixTop\">componentPrefixTop</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:componentPrefixOther\">componentPrefixOther</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li></ul>}","name":"ComponentPrefix ComponentPrefix componentPrefixTop componentPrefixOther","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:ComponentPrefix"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Directive\">Directive</a> = <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"Directive","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:Directive"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:IsVoid\">IsVoid</a> = <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"IsVoid","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:IsVoid"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:DomainName\">DomainName</a> = <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"DomainName","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:DomainName"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PortDirection\">PortDirection</a><ul class=\"subs\"><li>= <a href=\"#v:In\">In</a></li><li>| <a href=\"#v:Out\">Out</a></li></ul>","name":"PortDirection In Out","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:PortDirection"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PortMap\">PortMap</a><ul class=\"subs\"><li>= <a href=\"#v:IndexedPortMap\">IndexedPortMap</a> [(<a href=\"Clash-Netlist-Types.html#t:PortDirection\" title=\"Clash.Netlist.Types\">PortDirection</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)]</li><li>| <a href=\"#v:NamedPortMap\">NamedPortMap</a> [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:PortDirection\" title=\"Clash.Netlist.Types\">PortDirection</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)]</li></ul>","name":"PortMap IndexedPortMap NamedPortMap","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:PortMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:EntityOrComponent\">EntityOrComponent</a><ul class=\"subs\"><li>= <a href=\"#v:Entity\">Entity</a></li><li>| <a href=\"#v:Comp\">Comp</a></li><li>| <a href=\"#v:Empty\">Empty</a></li></ul>","name":"EntityOrComponent Empty Comp Entity","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:EntityOrComponent"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:BBName\">BBName</a> = <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"BBName","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:BBName"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:BBHash\">BBHash</a> = <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"BBHash","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#t:BBHash"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:NetDecl\">NetDecl</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Comment\" title=\"Clash.Netlist.Types\">Comment</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"NetDecl","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:NetDecl"},{"display_html":"<a href=\"#v:backend\">backend</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"Clash-Netlist-Types.html#t:SomeBackend\" title=\"Clash.Netlist.Types\">SomeBackend</a>","name":"backend","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:backend"},{"display_html":"<a href=\"#v:components\">components</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"Clash-Netlist-Types.html#t:ComponentMap\" title=\"Clash.Netlist.Types\">ComponentMap</a>","name":"components","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:components"},{"display_html":"<a href=\"#v:intWidth\">intWidth</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"intWidth","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:intWidth"},{"display_html":"<a href=\"#v:usages\">usages</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"Clash-Netlist-Types.html#t:UsageMap\" title=\"Clash.Netlist.Types\">UsageMap</a>","name":"usages","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:usages"},{"display_html":"<a href=\"#v:findClocks\">findClocks</a> :: <a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a> -&gt; [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>)]","name":"findClocks","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:findClocks"},{"display_html":"<a href=\"#v:hwTypeDomain\">hwTypeDomain</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:DomainName\" title=\"Clash.Netlist.Types\">DomainName</a>","name":"hwTypeDomain","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:hwTypeDomain"},{"display_html":"<a href=\"#v:bindings\">bindings</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>","name":"bindings","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:bindings"},{"display_html":"<a href=\"#v:tcCache\">tcCache</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a>","name":"tcCache","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:tcCache"},{"display_html":"<a href=\"#v:customReprs\">customReprs</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> CustomReprs","name":"customReprs","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:customReprs"},{"display_html":"<a href=\"#v:typeTranslator\">typeTranslator</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)))","name":"typeTranslator","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:typeTranslator"},{"display_html":"<a href=\"#v:primitives\">primitives</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"Clash-Primitives-Types.html#t:CompiledPrimMap\" title=\"Clash.Primitives.Types\">CompiledPrimMap</a>","name":"primitives","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:primitives"},{"display_html":"<a href=\"#v:toBit\">toBit</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Bit\" title=\"Clash.Netlist.Types\">Bit</a>","name":"toBit","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:toBit"},{"display_html":"<a href=\"#v:curCompNm\">curCompNm</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a>)","name":"curCompNm","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:curCompNm"},{"display_html":"<a href=\"#v:emptyBBContext\">emptyBBContext</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a>","name":"emptyBBContext","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:emptyBBContext"},{"display_html":"<a href=\"#v:prefixName\">prefixName</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"prefixName","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:prefixName"},{"display_html":"<a href=\"#v:setName\">setName</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>)","name":"setName","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:setName"},{"display_html":"<a href=\"#v:suffixName\">suffixName</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"suffixName","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:suffixName"},{"display_html":"<a href=\"#v:identifierKey-35-\">identifierKey#</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; ((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>), [<a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>])","name":"identifierKey#","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:identifierKey-35-"},{"display_html":"<a href=\"#v:isBiDirectional\">isBiDirectional</a> :: (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isBiDirectional","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:isBiDirectional"},{"display_html":"<a href=\"#v:annotated\">annotated</a> :: [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>","name":"annotated","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:annotated"},{"display_html":"<a href=\"#v:hwTypeAttrs\">hwTypeAttrs</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]","name":"hwTypeAttrs","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:hwTypeAttrs"},{"display_html":"<a href=\"#v:lookupUsage\">lookupUsage</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:UsageMap\" title=\"Clash.Netlist.Types\">UsageMap</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a>","name":"lookupUsage","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:lookupUsage"},{"display_html":"<a href=\"#v:isConstExpr\">isConstExpr</a> :: <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isConstExpr","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:isConstExpr"},{"display_html":"<a href=\"#v:netlistId1\">netlistId1</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; r) -&gt; (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; r) -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; r","name":"netlistId1","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:netlistId1"},{"display_html":"<a href=\"#v:netlistTypes\">netlistTypes</a> :: <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]","name":"netlistTypes","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:netlistTypes"},{"display_html":"<a href=\"#v:netlistTypes1\">netlistTypes1</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"netlistTypes1","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:netlistTypes1"},{"display_html":"<a href=\"#v:clashEnv\">clashEnv</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a>","name":"clashEnv","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:clashEnv"},{"display_html":"<a href=\"#v:clashOpts\">clashOpts</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Netlist-Types.html#t:NetlistEnv\" title=\"Clash.Netlist.Types\">NetlistEnv</a> <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a>","name":"clashOpts","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:clashOpts"},{"display_html":"<a href=\"#v:seenIds\">seenIds</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>","name":"seenIds","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:seenIds"},{"display_html":"<a href=\"#v:backEndITE\">backEndITE</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"backEndITE","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:backEndITE"},{"display_html":"<a href=\"#v:componentNames\">componentNames</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"componentNames","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:componentNames"},{"display_html":"<a href=\"#v:curBBlvl\">curBBlvl</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"curBBlvl","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:curBBlvl"},{"display_html":"<a href=\"#v:hdlDir\">hdlDir</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"hdlDir","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:hdlDir"},{"display_html":"<a href=\"#v:htyCache\">htyCache</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a>","name":"htyCache","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:htyCache"},{"display_html":"<a href=\"#v:isTestBench\">isTestBench</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isTestBench","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:isTestBench"},{"display_html":"<a href=\"#v:seenComps\">seenComps</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>","name":"seenComps","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:seenComps"},{"display_html":"<a href=\"#v:seenPrimitives\">seenPrimitives</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> (<a href=\"/package/containers-0.6.7/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>)","name":"seenPrimitives","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:seenPrimitives"},{"display_html":"<a href=\"#v:topEntityAnns\">topEntityAnns</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>)","name":"topEntityAnns","module":"Clash.Netlist.Types","link":"Clash-Netlist-Types.html#v:topEntityAnns"},{"display_html":"<a href=\"#v:pprPslProperty\">pprPslProperty</a> :: HDL -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; ActiveEdge -&gt; Property' <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"pprPslProperty","module":"Clash.Verification.Pretty","link":"Clash-Verification-Pretty.html#v:pprPslProperty"},{"display_html":"<a href=\"#v:pprSvaProperty\">pprSvaProperty</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; ActiveEdge -&gt; Property' <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"pprSvaProperty","module":"Clash.Verification.Pretty","link":"Clash-Verification-Pretty.html#v:pprSvaProperty"},{"display_html":"<a href=\"#v:pprYosysSvaProperty\">pprYosysSvaProperty</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; ActiveEdge -&gt; Property' <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"pprYosysSvaProperty","module":"Clash.Verification.Pretty","link":"Clash-Verification-Pretty.html#v:pprYosysSvaProperty"},{"display_html":"<a href=\"#v:pprProperty\">pprProperty</a> :: Property dom -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"pprProperty","module":"Clash.Verification.Pretty","link":"Clash-Verification-Pretty.html#v:pprProperty"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:RewriteStep\">RewriteStep</a> = <a href=\"#v:RewriteStep\">RewriteStep</a> {<ul class=\"subs\"><li><a href=\"#v:t_ctx\">t_ctx</a> :: <a href=\"Clash-Core-Term.html#t:Context\" title=\"Clash.Core.Term\">Context</a></li><li><a href=\"#v:t_name\">t_name</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li><a href=\"#v:t_bndrS\">t_bndrS</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li><a href=\"#v:t_before\">t_before</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li><a href=\"#v:t_after\">t_after</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li></ul>}","name":"RewriteStep t_after t_before t_bndrS t_ctx t_name RewriteStep","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#t:RewriteStep"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:RewriteState\">RewriteState</a> extra = <a href=\"#v:RewriteState\">RewriteState</a> {<ul class=\"subs\"><li><a href=\"#v:_transformCounter\">_transformCounter</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:_transformCounters\">_transformCounters</a> :: <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a></li><li><a href=\"#v:_bindings\">_bindings</a> :: !<a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a></li><li><a href=\"#v:_uniqSupply\">_uniqSupply</a> :: !<a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a></li><li><a href=\"#v:_curFun\">_curFun</a> :: (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a>)</li><li><a href=\"#v:_nameCounter\">_nameCounter</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:_globalHeap\">_globalHeap</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:PrimHeap\" title=\"Clash.Core.Evaluator.Types\">PrimHeap</a></li><li><a href=\"#v:_workFreeBinders\">_workFreeBinders</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:_extra\">_extra</a> :: !extra</li></ul>}","name":"RewriteState _extra _workFreeBinders _globalHeap _nameCounter _curFun _uniqSupply _transformCounters _transformCounter _bindings RewriteState","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#t:RewriteState"},{"display_html":"<a href=\"#v:workFreeBinders\">workFreeBinders</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>)","name":"workFreeBinders","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:workFreeBinders"},{"display_html":"<a href=\"#v:uniqSupply\">uniqSupply</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a>","name":"uniqSupply","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:uniqSupply"},{"display_html":"<a href=\"#v:transformCounters\">transformCounters</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) (<a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>)","name":"transformCounters","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:transformCounters"},{"display_html":"<a href=\"#v:transformCounter\">transformCounter</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"transformCounter","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:transformCounter"},{"display_html":"<a href=\"#v:nameCounter\">nameCounter</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"nameCounter","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:nameCounter"},{"display_html":"<a href=\"#v:globalHeap\">globalHeap</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) <a href=\"Clash-Core-Evaluator-Types.html#t:PrimHeap\" title=\"Clash.Core.Evaluator.Types\">PrimHeap</a>","name":"globalHeap","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:globalHeap"},{"display_html":"<a href=\"#v:extra\">extra</a> :: <span class=\"keyword\">forall</span> extra extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens\" title=\"Control.Lens.Type\">Lens</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) extra extra","name":"extra","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:extra"},{"display_html":"<a href=\"#v:curFun\">curFun</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a>)","name":"curFun","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:curFun"},{"display_html":"<a href=\"#v:bindings\">bindings</a> :: <span class=\"keyword\">forall</span> extra. <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>","name":"bindings","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:bindings"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:RewriteEnv\">RewriteEnv</a> = <a href=\"#v:RewriteEnv\">RewriteEnv</a> {<ul class=\"subs\"><li><a href=\"#v:_clashEnv\">_clashEnv</a> :: <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a></li><li><a href=\"#v:_typeTranslator\">_typeTranslator</a> :: CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))</li><li><a href=\"#v:_peEvaluator\">_peEvaluator</a> :: <a href=\"Clash-Core-PartialEval.html#t:Evaluator\" title=\"Clash.Core.PartialEval\">Evaluator</a></li><li><a href=\"#v:_evaluator\">_evaluator</a> :: <a href=\"Clash-Core-Evaluator-Types.html#t:Evaluator\" title=\"Clash.Core.Evaluator.Types\">Evaluator</a></li><li><a href=\"#v:_topEntities\">_topEntities</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a></li></ul>}","name":"RewriteEnv _topEntities _evaluator _peEvaluator _typeTranslator _clashEnv RewriteEnv","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#t:RewriteEnv"},{"display_html":"<a href=\"#v:typeTranslator\">typeTranslator</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)))","name":"typeTranslator","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:typeTranslator"},{"display_html":"<a href=\"#v:topEntities\">topEntities</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"Clash-Core-VarEnv.html#t:VarSet\" title=\"Clash.Core.VarEnv\">VarSet</a>","name":"topEntities","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:topEntities"},{"display_html":"<a href=\"#v:peEvaluator\">peEvaluator</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"Clash-Core-PartialEval.html#t:Evaluator\" title=\"Clash.Core.PartialEval\">Evaluator</a>","name":"peEvaluator","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:peEvaluator"},{"display_html":"<a href=\"#v:evaluator\">evaluator</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"Clash-Core-Evaluator-Types.html#t:Evaluator\" title=\"Clash.Core.Evaluator.Types\">Evaluator</a>","name":"evaluator","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:evaluator"},{"display_html":"<a href=\"#v:clashEnv\">clashEnv</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a>","name":"clashEnv","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:clashEnv"},{"display_html":"<a href=\"#v:debugOpts\">debugOpts</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"Clash-Driver-Types.html#t:DebugOpts\" title=\"Clash.Driver.Types\">DebugOpts</a>","name":"debugOpts","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:debugOpts"},{"display_html":"<a href=\"#v:aggressiveXOpt\">aggressiveXOpt</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"aggressiveXOpt","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:aggressiveXOpt"},{"display_html":"<a href=\"#v:tcCache\">tcCache</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a>","name":"tcCache","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:tcCache"},{"display_html":"<a href=\"#v:tupleTcCache\">tupleTcCache</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> (<a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a>)","name":"tupleTcCache","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:tupleTcCache"},{"display_html":"<a href=\"#v:customReprs\">customReprs</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> CustomReprs","name":"customReprs","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:customReprs"},{"display_html":"<a href=\"#v:fuelLimit\">fuelLimit</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"fuelLimit","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:fuelLimit"},{"display_html":"<a href=\"#v:primitives\">primitives</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"Clash-Primitives-Types.html#t:CompiledPrimMap\" title=\"Clash.Primitives.Types\">CompiledPrimMap</a>","name":"primitives","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:primitives"},{"display_html":"<a href=\"#v:inlineLimit\">inlineLimit</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"inlineLimit","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:inlineLimit"},{"display_html":"<a href=\"#v:inlineFunctionLimit\">inlineFunctionLimit</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"inlineFunctionLimit","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:inlineFunctionLimit"},{"display_html":"<a href=\"#v:inlineConstantLimit\">inlineConstantLimit</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"inlineConstantLimit","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:inlineConstantLimit"},{"display_html":"<a href=\"#v:inlineWFCacheLimit\">inlineWFCacheLimit</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"inlineWFCacheLimit","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:inlineWFCacheLimit"},{"display_html":"<a href=\"#v:newInlineStrategy\">newInlineStrategy</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"newInlineStrategy","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:newInlineStrategy"},{"display_html":"<a href=\"#v:specializationLimit\">specializationLimit</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"specializationLimit","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:specializationLimit"},{"display_html":"<a href=\"#v:normalizeUltra\">normalizeUltra</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Getter\" title=\"Control.Lens.Type\">Getter</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"normalizeUltra","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:normalizeUltra"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:RewriteMonad\">RewriteMonad</a> extra a = <a href=\"#v:R\">R</a> {<ul class=\"subs\"><li><a href=\"#v:unR\">unR</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-RWS-CPS.html#t:RWST\" title=\"Control.Monad.RWS.CPS\">RWST</a> <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Any\" title=\"Data.Monoid\">Any</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra) <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> a</li></ul>}","name":"RewriteMonad unR R","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#t:RewriteMonad"},{"display_html":"<a href=\"#v:runR\">runR</a> :: <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra a -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (a, <a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra, <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Any\" title=\"Data.Monoid\">Any</a>)","name":"runR","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:runR"},{"display_html":"<a href=\"#v:censor\">censor</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Any\" title=\"Data.Monoid\">Any</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Any\" title=\"Data.Monoid\">Any</a>) -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra a -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra a","name":"censor","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#v:censor"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TransformContext\">TransformContext</a> = <a href=\"#v:TransformContext\">TransformContext</a> {<ul class=\"subs\"><li><a href=\"#v:tfInScope\">tfInScope</a> :: !<a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a></li><li><a href=\"#v:tfContext\">tfContext</a> :: <a href=\"Clash-Core-Term.html#t:Context\" title=\"Clash.Core.Term\">Context</a></li></ul>}","name":"TransformContext tfContext tfInScope TransformContext","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#t:TransformContext"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Transform\">Transform</a> m = <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; m <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"Transform","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#t:Transform"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Rewrite\">Rewrite</a> extra = <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> (<a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra)","name":"Rewrite","module":"Clash.Rewrite.Types","link":"Clash-Rewrite-Types.html#t:Rewrite"},{"display_html":"<a href=\"#v:allR\">allR</a> :: <span class=\"keyword\">forall</span> m. <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m","name":"allR","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:allR"},{"display_html":"<a href=\"#v:-33--45--62-\">(!-&gt;)</a> :: <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m","name":"!->","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:-33--45--62-"},{"display_html":"<a href=\"#v:-62--45--33-\">(&gt;-!)</a> :: <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m","name":">-!","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:-62--45--33-"},{"display_html":"<a href=\"#v:-62--45--33--45--62-\">(&gt;-!-&gt;)</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m","name":">-!->","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:-62--45--33--45--62-"},{"display_html":"<a href=\"#v:-62--45--62-\">(&gt;-&gt;)</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m","name":">->","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:-62--45--62-"},{"display_html":"<a href=\"#v:bottomupR\">bottomupR</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Transform\" title=\"Clash.Rewrite.Types\">Transform</a> m","name":"bottomupR","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:bottomupR"},{"display_html":"<a href=\"#v:repeatR\">repeatR</a> :: <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m","name":"repeatR","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:repeatR"},{"display_html":"<a href=\"#v:topdownR\">topdownR</a> :: <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> m","name":"topdownR","module":"Clash.Rewrite.Combinators","link":"Clash-Rewrite-Combinators.html#v:topdownR"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NormalizeState\">NormalizeState</a> = <a href=\"#v:NormalizeState\">NormalizeState</a> {<ul class=\"subs\"><li><a href=\"#v:_normalized\">_normalized</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a></li><li><a href=\"#v:_specialisationCache\">_specialisationCache</a> :: <a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a></li><li><a href=\"#v:_specialisationHistory\">_specialisationHistory</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:_inlineHistory\">_inlineHistory</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li><a href=\"#v:_primitiveArgs\">_primitiveArgs</a> :: <a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> (<a href=\"/package/containers-0.6.7/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li><a href=\"#v:_recursiveComponents\">_recursiveComponents</a> :: <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"NormalizeState _recursiveComponents _primitiveArgs _inlineHistory _specialisationHistory _specialisationCache _normalized NormalizeState","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#t:NormalizeState"},{"display_html":"<a href=\"#v:specialisationHistory\">specialisationHistory</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)","name":"specialisationHistory","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:specialisationHistory"},{"display_html":"<a href=\"#v:specialisationCache\">specialisationCache</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> (<a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>)","name":"specialisationCache","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:specialisationCache"},{"display_html":"<a href=\"#v:recursiveComponents\">recursiveComponents</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>)","name":"recursiveComponents","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:recursiveComponents"},{"display_html":"<a href=\"#v:primitiveArgs\">primitiveArgs</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> (<a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> (<a href=\"/package/containers-0.6.7/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>))","name":"primitiveArgs","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:primitiveArgs"},{"display_html":"<a href=\"#v:normalized\">normalized</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>","name":"normalized","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:normalized"},{"display_html":"<a href=\"#v:inlineHistory\">inlineHistory</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>))","name":"inlineHistory","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:inlineHistory"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:NormalizeMonad\">NormalizeMonad</a> = <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a>","name":"NormalizeMonad","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#t:NormalizeMonad"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:NormalizeSession\">NormalizeSession</a> = <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a>","name":"NormalizeSession","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#t:NormalizeSession"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:NormRewrite\">NormRewrite</a> = <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a>","name":"NormRewrite","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#t:NormRewrite"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TermClassification\">TermClassification</a> = <a href=\"#v:TermClassification\">TermClassification</a> {<ul class=\"subs\"><li><a href=\"#v:_function\">_function</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:_primitive\">_primitive</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:_selection\">_selection</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li></ul>}","name":"TermClassification _selection _primitive _function TermClassification","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#t:TermClassification"},{"display_html":"<a href=\"#v:selection\">selection</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:TermClassification\" title=\"Clash.Normalize.Types\">TermClassification</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"selection","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:selection"},{"display_html":"<a href=\"#v:primitive\">primitive</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:TermClassification\" title=\"Clash.Normalize.Types\">TermClassification</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"primitive","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:primitive"},{"display_html":"<a href=\"#v:function\">function</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> <a href=\"Clash-Normalize-Types.html#t:TermClassification\" title=\"Clash.Normalize.Types\">TermClassification</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"function","module":"Clash.Normalize.Types","link":"Clash-Normalize-Types.html#v:function"},{"display_html":"<a href=\"#v:bvToIntegerVerilog\">bvToIntegerVerilog</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"bvToIntegerVerilog","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:bvToIntegerVerilog"},{"display_html":"<a href=\"#v:bvToIntegerVHDL\">bvToIntegerVHDL</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"bvToIntegerVHDL","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:bvToIntegerVHDL"},{"display_html":"<a href=\"#v:indexToIntegerVerilog\">indexToIntegerVerilog</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"indexToIntegerVerilog","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:indexToIntegerVerilog"},{"display_html":"<a href=\"#v:indexToIntegerVHDL\">indexToIntegerVHDL</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"indexToIntegerVHDL","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:indexToIntegerVHDL"},{"display_html":"<a href=\"#v:signedToIntegerVerilog\">signedToIntegerVerilog</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"signedToIntegerVerilog","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:signedToIntegerVerilog"},{"display_html":"<a href=\"#v:signedToIntegerVHDL\">signedToIntegerVHDL</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"signedToIntegerVHDL","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:signedToIntegerVHDL"},{"display_html":"<a href=\"#v:unsignedToIntegerVerilog\">unsignedToIntegerVerilog</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"unsignedToIntegerVerilog","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:unsignedToIntegerVerilog"},{"display_html":"<a href=\"#v:unsignedToIntegerVHDL\">unsignedToIntegerVHDL</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"unsignedToIntegerVHDL","module":"Clash.Primitives.Sized.ToInteger","link":"Clash-Primitives-Sized-ToInteger.html#v:unsignedToIntegerVHDL"},{"display_html":"<a href=\"#v:fromIntegerTFvhdl\">fromIntegerTFvhdl</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"fromIntegerTFvhdl","module":"Clash.Primitives.Sized.Signed","link":"Clash-Primitives-Sized-Signed.html#v:fromIntegerTFvhdl"},{"display_html":"<a href=\"#v:clashCompileErrorBBF\">clashCompileErrorBBF</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"clashCompileErrorBBF","module":"Clash.Primitives.Magic","link":"Clash-Primitives-Magic.html#v:clashCompileErrorBBF"},{"display_html":"<a href=\"#v:assign\">assign</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> -&gt; [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>] -&gt; [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]","name":"assign","module":"Clash.Primitives.GHC.Literal","link":"Clash-Primitives-GHC-Literal.html#v:assign"},{"display_html":"<a href=\"#v:signed\">signed</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> -&gt; [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]","name":"signed","module":"Clash.Primitives.GHC.Literal","link":"Clash-Primitives-GHC-Literal.html#v:signed"},{"display_html":"<a href=\"#v:signedLiteral\">signedLiteral</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>","name":"signedLiteral","module":"Clash.Primitives.GHC.Literal","link":"Clash-Primitives-GHC-Literal.html#v:signedLiteral"},{"display_html":"<a href=\"#v:unsigned\">unsigned</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> -&gt; [<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>]","name":"unsigned","module":"Clash.Primitives.GHC.Literal","link":"Clash-Primitives-GHC-Literal.html#v:unsigned"},{"display_html":"<a href=\"#v:unsignedLiteral\">unsignedLiteral</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a>","name":"unsignedLiteral","module":"Clash.Primitives.GHC.Literal","link":"Clash-Primitives-GHC-Literal.html#v:unsignedLiteral"},{"display_html":"<a href=\"#v:literalTF\">literalTF</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; (<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxMeta\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxMeta</a>, <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>)) -&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"literalTF","module":"Clash.Primitives.GHC.Literal","link":"Clash-Primitives-GHC-Literal.html#v:literalTF"},{"display_html":"<a href=\"#v:wordTF\">wordTF</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"wordTF","module":"Clash.Primitives.GHC.Word","link":"Clash-Primitives-GHC-Word.html#v:wordTF"},{"display_html":"<a href=\"#v:intTF\">intTF</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"intTF","module":"Clash.Primitives.GHC.Int","link":"Clash-Primitives-GHC-Int.html#v:intTF"},{"display_html":"<a href=\"#v:keywords\">keywords</a> :: <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashSet.html#t:HashSet\" title=\"Data.HashSet\">HashSet</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"keywords","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:keywords"},{"display_html":"<a href=\"#v:isKeyword\">isKeyword</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isKeyword","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:isKeyword"},{"display_html":"<a href=\"#v:parseBasic\">parseBasic</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseBasic","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:parseBasic"},{"display_html":"<a href=\"#v:parseBasic-39-\">parseBasic'</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseBasic'","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:parseBasic-39-"},{"display_html":"<a href=\"#v:parseExtended\">parseExtended</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseExtended","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:parseExtended"},{"display_html":"<a href=\"#v:toBasic-39-\">toBasic'</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toBasic'","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:toBasic-39-"},{"display_html":"<a href=\"#v:toBasic\">toBasic</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toBasic","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:toBasic"},{"display_html":"<a href=\"#v:isBasicChar\">isBasicChar</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isBasicChar","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:isBasicChar"},{"display_html":"<a href=\"#v:unextend\">unextend</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"unextend","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:unextend"},{"display_html":"<a href=\"#v:toText\">toText</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierType\" title=\"Clash.Netlist.Types\">IdentifierType</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toText","module":"Clash.Netlist.Id.Verilog","link":"Clash-Netlist-Id-Verilog.html#v:toText"},{"display_html":"<a href=\"#v:importedNames\">importedNames</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]","name":"importedNames","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:importedNames"},{"display_html":"<a href=\"#v:timeUnits\">timeUnits</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]","name":"timeUnits","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:timeUnits"},{"display_html":"<a href=\"#v:keywords\">keywords</a> :: <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashSet.html#t:HashSet\" title=\"Data.HashSet\">HashSet</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"keywords","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:keywords"},{"display_html":"<a href=\"#v:isKeyword\">isKeyword</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isKeyword","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:isKeyword"},{"display_html":"<a href=\"#v:parseBasic\">parseBasic</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseBasic","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:parseBasic"},{"display_html":"<a href=\"#v:parseBasic-39-\">parseBasic'</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseBasic'","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:parseBasic-39-"},{"display_html":"<a href=\"#v:parseExtended\">parseExtended</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseExtended","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:parseExtended"},{"display_html":"<a href=\"#v:toBasic\">toBasic</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toBasic","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:toBasic"},{"display_html":"<a href=\"#v:isBasicChar\">isBasicChar</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isBasicChar","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:isBasicChar"},{"display_html":"<a href=\"#v:stripDollarPrefixes\">stripDollarPrefixes</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"stripDollarPrefixes","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:stripDollarPrefixes"},{"display_html":"<a href=\"#v:unextend\">unextend</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"unextend","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:unextend"},{"display_html":"<a href=\"#v:toText\">toText</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierType\" title=\"Clash.Netlist.Types\">IdentifierType</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toText","module":"Clash.Netlist.Id.VHDL","link":"Clash-Netlist-Id-VHDL.html#v:toText"},{"display_html":"<a href=\"#v:keywords\">keywords</a> :: <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashSet.html#t:HashSet\" title=\"Data.HashSet\">HashSet</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"keywords","module":"Clash.Netlist.Id.SystemVerilog","link":"Clash-Netlist-Id-SystemVerilog.html#v:keywords"},{"display_html":"<a href=\"#v:isKeyword\">isKeyword</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isKeyword","module":"Clash.Netlist.Id.SystemVerilog","link":"Clash-Netlist-Id-SystemVerilog.html#v:isKeyword"},{"display_html":"<a href=\"#v:parseBasic\">parseBasic</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseBasic","module":"Clash.Netlist.Id.SystemVerilog","link":"Clash-Netlist-Id-SystemVerilog.html#v:parseBasic"},{"display_html":"<a href=\"#v:parseExtended\">parseExtended</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"parseExtended","module":"Clash.Netlist.Id.SystemVerilog","link":"Clash-Netlist-Id-SystemVerilog.html#v:parseExtended"},{"display_html":"<a href=\"#v:toBasic\">toBasic</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toBasic","module":"Clash.Netlist.Id.SystemVerilog","link":"Clash-Netlist-Id-SystemVerilog.html#v:toBasic"},{"display_html":"<a href=\"#v:unextend\">unextend</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"unextend","module":"Clash.Netlist.Id.SystemVerilog","link":"Clash-Netlist-Id-SystemVerilog.html#v:unextend"},{"display_html":"<a href=\"#v:toText\">toText</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierType\" title=\"Clash.Netlist.Types\">IdentifierType</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toText","module":"Clash.Netlist.Id.SystemVerilog","link":"Clash-Netlist-Id-SystemVerilog.html#v:toText"},{"display_html":"<a href=\"#v:lookupFreshCache-35-\">lookupFreshCache#</a> :: <a href=\"Clash-Netlist-Types.html#t:FreshCache\" title=\"Clash.Netlist.Types\">FreshCache</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>","name":"lookupFreshCache#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:lookupFreshCache-35-"},{"display_html":"<a href=\"#v:updateFreshCache-35-\">updateFreshCache#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:FreshCache\" title=\"Clash.Netlist.Types\">FreshCache</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:FreshCache\" title=\"Clash.Netlist.Types\">FreshCache</a>","name":"updateFreshCache#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:updateFreshCache-35-"},{"display_html":"<a href=\"#v:mkUnique-35-\">mkUnique#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"mkUnique#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:mkUnique-35-"},{"display_html":"<a href=\"#v:add-35-\">add#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>","name":"add#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:add-35-"},{"display_html":"<a href=\"#v:addMultiple-35-\">addMultiple#</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> t) =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; t <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>","name":"addMultiple#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:addMultiple-35-"},{"display_html":"<a href=\"#v:addRaw-35-\">addRaw#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"addRaw#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:addRaw-35-"},{"display_html":"<a href=\"#v:make-35-\">make#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"make#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:make-35-"},{"display_html":"<a href=\"#v:makeBasic-35-\">makeBasic#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"makeBasic#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:makeBasic-35-"},{"display_html":"<a href=\"#v:makeBasicOr-35-\">makeBasicOr#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"makeBasicOr#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:makeBasicOr-35-"},{"display_html":"<a href=\"#v:next-35-\">next#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"next#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:next-35-"},{"display_html":"<a href=\"#v:nextN-35-\">nextN#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, [<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>])","name":"nextN#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:nextN-35-"},{"display_html":"<a href=\"#v:deepenN-35-\">deepenN#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, [<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>])","name":"deepenN#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:deepenN-35-"},{"display_html":"<a href=\"#v:deepen-35-\">deepen#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"deepen#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:deepen-35-"},{"display_html":"<a href=\"#v:suffix-35-\">suffix#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"suffix#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:suffix-35-"},{"display_html":"<a href=\"#v:prefix-35-\">prefix#</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"prefix#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:prefix-35-"},{"display_html":"<a href=\"#v:toText-35-\">toText#</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toText#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:toText-35-"},{"display_html":"<a href=\"#v:isBasic-35-\">isBasic#</a> :: HDL -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isBasic#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:isBasic-35-"},{"display_html":"<a href=\"#v:isExtended-35-\">isExtended#</a> :: HDL -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isExtended#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:isExtended-35-"},{"display_html":"<a href=\"#v:toPrintableAscii-35-\">toPrintableAscii#</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toPrintableAscii#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:toPrintableAscii-35-"},{"display_html":"<a href=\"#v:parseIdentifier-35-\">parseIdentifier#</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; (<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, [<a href=\"/package/base-4.18.3.0/docs/Data-Word.html#t:Word\" title=\"Data.Word\">Word</a>])","name":"parseIdentifier#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:parseIdentifier-35-"},{"display_html":"<a href=\"#v:make-35--35-\">make##</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; HDL -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>","name":"make##","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:make-35--35-"},{"display_html":"<a href=\"#v:toBasicId-35-\">toBasicId#</a> :: HDL -&gt; <a href=\"Clash-Netlist-Types.html#t:PreserveCase\" title=\"Clash.Netlist.Types\">PreserveCase</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toBasicId#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:toBasicId-35-"},{"display_html":"<a href=\"#v:fromCoreId-35-\">fromCoreId#</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"fromCoreId#","module":"Clash.Netlist.Id.Internal","link":"Clash-Netlist-Id-Internal.html#v:fromCoreId-35-"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IdentifierSet\">IdentifierSet</a>","name":"IdentifierSet","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#t:IdentifierSet"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"#t:IdentifierSetMonad\">IdentifierSetMonad</a> m <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:identifierSetM\">identifierSetM</a> :: (<a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a>) -&gt; m <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a></li></ul>","name":"IdentifierSetMonad identifierSetM","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#t:IdentifierSetMonad"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:HasIdentifierSet\">HasIdentifierSet</a> s <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:identifierSet\">identifierSet</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a></li></ul>","name":"HasIdentifierSet identifierSet","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#t:HasIdentifierSet"},{"display_html":"<a href=\"#v:emptyIdentifierSet\">emptyIdentifierSet</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:PreserveCase\" title=\"Clash.Netlist.Types\">PreserveCase</a> -&gt; HDL -&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a>","name":"emptyIdentifierSet","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:emptyIdentifierSet"},{"display_html":"<a href=\"#v:makeSet\">makeSet</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:PreserveCase\" title=\"Clash.Netlist.Types\">PreserveCase</a> -&gt; HDL -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashSet.html#t:HashSet\" title=\"Data.HashSet\">HashSet</a> <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a>","name":"makeSet","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:makeSet"},{"display_html":"<a href=\"#v:clearSet\">clearSet</a> :: <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a>","name":"clearSet","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:clearSet"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Identifier\">Identifier</a>","name":"Identifier","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#t:Identifier"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:IdentifierType\">IdentifierType</a><ul class=\"subs\"><li>= <a href=\"#v:Basic\">Basic</a></li><li>| <a href=\"#v:Extended\">Extended</a></li></ul>","name":"IdentifierType Basic Extended","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#t:IdentifierType"},{"display_html":"<a href=\"#v:unsafeMake\">unsafeMake</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"unsafeMake","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:unsafeMake"},{"display_html":"<a href=\"#v:unsafeFromCoreId\">unsafeFromCoreId</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"unsafeFromCoreId","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:unsafeFromCoreId"},{"display_html":"<a href=\"#v:toText\">toText</a> :: <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toText","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:toText"},{"display_html":"<a href=\"#v:toLazyText\">toLazyText</a> :: <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>","name":"toLazyText","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:toLazyText"},{"display_html":"<a href=\"#v:toList\">toList</a> :: <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a> -&gt; [<a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>]","name":"toList","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:toList"},{"display_html":"<a href=\"#v:union\">union</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSet\" title=\"Clash.Netlist.Id\">IdentifierSet</a>","name":"union","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:union"},{"display_html":"<a href=\"#v:make\">make</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"make","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:make"},{"display_html":"<a href=\"#v:makeBasic\">makeBasic</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"makeBasic","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:makeBasic"},{"display_html":"<a href=\"#v:makeBasicOr\">makeBasicOr</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"makeBasicOr","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:makeBasicOr"},{"display_html":"<a href=\"#v:makeAs\">makeAs</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierType\" title=\"Clash.Netlist.Id\">IdentifierType</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"makeAs","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:makeAs"},{"display_html":"<a href=\"#v:add\">add</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m =&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; m ()","name":"add","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:add"},{"display_html":"<a href=\"#v:addMultiple\">addMultiple</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m, <a href=\"/package/base-4.18.3.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> t) =&gt; t <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; m ()","name":"addMultiple","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:addMultiple"},{"display_html":"<a href=\"#v:addRaw\">addRaw</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"addRaw","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:addRaw"},{"display_html":"<a href=\"#v:deepen\">deepen</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"deepen","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:deepen"},{"display_html":"<a href=\"#v:deepenN\">deepenN</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; m [<a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>]","name":"deepenN","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:deepenN"},{"display_html":"<a href=\"#v:next\">next</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"next","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:next"},{"display_html":"<a href=\"#v:nextN\">nextN</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; m [<a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>]","name":"nextN","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:nextN"},{"display_html":"<a href=\"#v:prefix\">prefix</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"prefix","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:prefix"},{"display_html":"<a href=\"#v:suffix\">suffix</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"suffix","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:suffix"},{"display_html":"<a href=\"#v:fromCoreId\">fromCoreId</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Netlist-Id.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Id\">IdentifierSetMonad</a> m) =&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; m <a href=\"Clash-Netlist-Id.html#t:Identifier\" title=\"Clash.Netlist.Id\">Identifier</a>","name":"fromCoreId","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:fromCoreId"},{"display_html":"<a href=\"#v:stripDollarPrefixes\">stripDollarPrefixes</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"stripDollarPrefixes","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:stripDollarPrefixes"},{"display_html":"<a href=\"#v:toBasicId-35-\">toBasicId#</a> :: HDL -&gt; <a href=\"Clash-Netlist-Types.html#t:PreserveCase\" title=\"Clash.Netlist.Types\">PreserveCase</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toBasicId#","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:toBasicId-35-"},{"display_html":"<a href=\"#v:isBasic-35-\">isBasic#</a> :: HDL -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isBasic#","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:isBasic-35-"},{"display_html":"<a href=\"#v:isExtended-35-\">isExtended#</a> :: HDL -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isExtended#","module":"Clash.Netlist.Id","link":"Clash-Netlist-Id.html#v:isExtended-35-"},{"display_html":"<a href=\"#v:coreToType-39-\">coreToType'</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> Type'","name":"coreToType'","module":"Clash.Annotations.BitRepresentation.ClashLib","link":"Clash-Annotations-BitRepresentation-ClashLib.html#v:coreToType-39-"},{"display_html":"<a href=\"#v:bitsToBits\">bitsToBits</a> :: [Bit] -&gt; [<a href=\"Clash-Netlist-Types.html#t:Bit\" title=\"Clash.Netlist.Types\">Bit</a>]","name":"bitsToBits","module":"Clash.Annotations.BitRepresentation.ClashLib","link":"Clash-Annotations-BitRepresentation-ClashLib.html#v:bitsToBits"},{"display_html":"<a href=\"#v:hmFindWithDefault\">hmFindWithDefault</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Eq.html#t:Eq\" title=\"Data.Eq\">Eq</a> k, <a href=\"/package/hashable-1.5.0.0/docs/Data-Hashable.html#t:Hashable\" title=\"Data.Hashable\">Hashable</a> k) =&gt; v -&gt; k -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> k v -&gt; v","name":"hmFindWithDefault","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:hmFindWithDefault"},{"display_html":"<a href=\"#v:instPort\">instPort</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>","name":"instPort","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:instPort"},{"display_html":"<a href=\"#v:stripFiltered\">stripFiltered</a> :: <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>","name":"stripFiltered","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:stripFiltered"},{"display_html":"<a href=\"#v:stripVoid\">stripVoid</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>","name":"stripVoid","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:stripVoid"},{"display_html":"<a href=\"#v:flattenFiltered\">flattenFiltered</a> :: <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a> -&gt; [[<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>]]","name":"flattenFiltered","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:flattenFiltered"},{"display_html":"<a href=\"#v:isVoidMaybe\">isVoidMaybe</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isVoidMaybe","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:isVoidMaybe"},{"display_html":"<a href=\"#v:isVoid\">isVoid</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isVoid","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:isVoid"},{"display_html":"<a href=\"#v:isFilteredVoid\">isFilteredVoid</a> :: <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isFilteredVoid","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:isFilteredVoid"},{"display_html":"<a href=\"#v:squashLets\">squashLets</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"squashLets","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:squashLets"},{"display_html":"<a href=\"#v:splitNormalized\">splitNormalized</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> ([<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>], [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>], <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>)","name":"splitNormalized","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:splitNormalized"},{"display_html":"<a href=\"#v:unsafeCoreTypeToHWType\">unsafeCoreTypeToHWType</a> :: <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>","name":"unsafeCoreTypeToHWType","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:unsafeCoreTypeToHWType"},{"display_html":"<a href=\"#v:unsafeCoreTypeToHWTypeM-39-\">unsafeCoreTypeToHWTypeM'</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>","name":"unsafeCoreTypeToHWTypeM'","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:unsafeCoreTypeToHWTypeM-39-"},{"display_html":"<a href=\"#v:unsafeCoreTypeToHWTypeM\">unsafeCoreTypeToHWTypeM</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>","name":"unsafeCoreTypeToHWTypeM","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:unsafeCoreTypeToHWTypeM"},{"display_html":"<a href=\"#v:coreTypeToHWTypeM-39-\">coreTypeToHWTypeM'</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)","name":"coreTypeToHWTypeM'","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:coreTypeToHWTypeM-39-"},{"display_html":"<a href=\"#v:coreTypeToHWTypeM\">coreTypeToHWTypeM</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)","name":"coreTypeToHWTypeM","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:coreTypeToHWTypeM"},{"display_html":"<a href=\"#v:unexpectedProjectionErrorMsg\">unexpectedProjectionErrorMsg</a> :: DataRepr' -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"unexpectedProjectionErrorMsg","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:unexpectedProjectionErrorMsg"},{"display_html":"<a href=\"#v:convertToCustomRepr\">convertToCustomRepr</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; CustomReprs -&gt; DataRepr' -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>","name":"convertToCustomRepr","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:convertToCustomRepr"},{"display_html":"<a href=\"#v:maybeConvertToCustomRepr\">maybeConvertToCustomRepr</a> :: CustomReprs -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>","name":"maybeConvertToCustomRepr","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:maybeConvertToCustomRepr"},{"display_html":"<a href=\"#v:coreTypeToHWType-39-\">coreTypeToHWType'</a> :: (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)","name":"coreTypeToHWType'","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:coreTypeToHWType-39-"},{"display_html":"<a href=\"#v:coreTypeToHWType\">coreTypeToHWType</a> :: (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)","name":"coreTypeToHWType","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:coreTypeToHWType"},{"display_html":"<a href=\"#v:originalIndices\">originalIndices</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>] -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]","name":"originalIndices","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:originalIndices"},{"display_html":"<a href=\"#v:mkADT\">mkADT</a> :: (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-Except.html#t:ExceptT\" title=\"Control.Monad.Except\">ExceptT</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a>) <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>","name":"mkADT","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkADT"},{"display_html":"<a href=\"#v:hasUnconstrainedExistential\">hasUnconstrainedExistential</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"hasUnconstrainedExistential","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:hasUnconstrainedExistential"},{"display_html":"<a href=\"#v:isRecursiveTy\">isRecursiveTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isRecursiveTy","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:isRecursiveTy"},{"display_html":"<a href=\"#v:representableType\">representableType</a> :: (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; CustomReprs -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"representableType","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:representableType"},{"display_html":"<a href=\"#v:typeSize\">typeSize</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"typeSize","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:typeSize"},{"display_html":"<a href=\"#v:conSize\">conSize</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"conSize","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:conSize"},{"display_html":"<a href=\"#v:termHWType\">termHWType</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>","name":"termHWType","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:termHWType"},{"display_html":"<a href=\"#v:termHWTypeM\">termHWTypeM</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)","name":"termHWTypeM","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:termHWTypeM"},{"display_html":"<a href=\"#v:isBiSignalIn\">isBiSignalIn</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isBiSignalIn","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:isBiSignalIn"},{"display_html":"<a href=\"#v:isBiSignalOut\">isBiSignalOut</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isBiSignalOut","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:isBiSignalOut"},{"display_html":"<a href=\"#v:containsBiSignalIn\">containsBiSignalIn</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"containsBiSignalIn","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:containsBiSignalIn"},{"display_html":"<a href=\"#v:mkUniqueNormalized\">mkUniqueNormalized</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> TopEntity) -&gt; ([<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>], [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>], <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>], [(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], [(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>], <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>)","name":"mkUniqueNormalized","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkUniqueNormalized"},{"display_html":"<a href=\"#v:orNothing\">orNothing</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a","name":"orNothing","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:orNothing"},{"display_html":"<a href=\"#v:renameBinder\">renameBinder</a> :: (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>)]","name":"renameBinder","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:renameBinder"},{"display_html":"<a href=\"#v:evalBlackBox\">evalBlackBox</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:SomeBackend\" title=\"Clash.Netlist.Types\">SomeBackend</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"evalBlackBox","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:evalBlackBox"},{"display_html":"<a href=\"#v:mkUniqueArguments\">mkUniqueArguments</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:ExpandedTopEntity\" title=\"Clash.Netlist.Types\">ExpandedTopEntity</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>) -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>], [(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>)","name":"mkUniqueArguments","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkUniqueArguments"},{"display_html":"<a href=\"#v:mkUniqueResult\">mkUniqueResult</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:ExpandedTopEntity\" title=\"Clash.Netlist.Types\">ExpandedTopEntity</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>) -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> ([(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>))","name":"mkUniqueResult","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkUniqueResult"},{"display_html":"<a href=\"#v:idToInPort\">idToInPort</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>))","name":"idToInPort","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:idToInPort"},{"display_html":"<a href=\"#v:idToOutPort\">idToOutPort</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>))","name":"idToOutPort","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:idToOutPort"},{"display_html":"<a href=\"#v:idToPort\">idToPort</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>))","name":"idToPort","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:idToPort"},{"display_html":"<a href=\"#v:setRepName\">setRepName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a","name":"setRepName","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:setRepName"},{"display_html":"<a href=\"#v:mkUnique\">mkUnique</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>], <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>)","name":"mkUnique","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkUnique"},{"display_html":"<a href=\"#v:preserveState\">preserveState</a> :: <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a","name":"preserveState","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:preserveState"},{"display_html":"<a href=\"#v:preserveVarEnv\">preserveVarEnv</a> :: <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a","name":"preserveVarEnv","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:preserveVarEnv"},{"display_html":"<a href=\"#v:dcToLiteral\">dcToLiteral</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a>","name":"dcToLiteral","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:dcToLiteral"},{"display_html":"<a href=\"#v:extendPorts\">extendPorts</a> :: [PortName] -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> PortName]","name":"extendPorts","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:extendPorts"},{"display_html":"<a href=\"#v:prefixParent\">prefixParent</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; PortName -&gt; PortName","name":"prefixParent","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:prefixParent"},{"display_html":"<a href=\"#v:mkInit\">mkInit</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:DeclarationType\" title=\"Clash.Netlist.Types\">DeclarationType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]","name":"mkInit","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkInit"},{"display_html":"<a href=\"#v:canUse\">canUse</a> :: HDL -&gt; <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"canUse","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:canUse"},{"display_html":"<a href=\"#v:declareUse\">declareUse</a> :: <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ()","name":"declareUse","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:declareUse"},{"display_html":"<a href=\"#v:declareUseOnce\">declareUseOnce</a> :: <a href=\"Clash-Backend.html#t:HasUsageMap\" title=\"Clash.Backend\">HasUsageMap</a> s =&gt; <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s ()","name":"declareUseOnce","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:declareUseOnce"},{"display_html":"<a href=\"#v:declareInstUses\">declareInstUses</a> :: [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:PortDirection\" title=\"Clash.Netlist.Types\">PortDirection</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ()","name":"declareInstUses","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:declareInstUses"},{"display_html":"<a href=\"#v:assignmentWith\">assignmentWith</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:Usage\" title=\"Clash.Netlist.Types\">Usage</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"assignmentWith","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:assignmentWith"},{"display_html":"<a href=\"#v:contAssign\">contAssign</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"contAssign","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:contAssign"},{"display_html":"<a href=\"#v:procAssign\">procAssign</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:Blocking\" title=\"Clash.Netlist.Types\">Blocking</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"procAssign","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:procAssign"},{"display_html":"<a href=\"#v:condAssign\">condAssign</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; [(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"condAssign","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:condAssign"},{"display_html":"<a href=\"#v:convPrimitiveType\">convPrimitiveType</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; a -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a","name":"convPrimitiveType","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:convPrimitiveType"},{"display_html":"<a href=\"#v:toPrimitiveType\">toPrimitiveType</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)","name":"toPrimitiveType","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:toPrimitiveType"},{"display_html":"<a href=\"#v:fromPrimitiveType\">fromPrimitiveType</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)","name":"fromPrimitiveType","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:fromPrimitiveType"},{"display_html":"<a href=\"#v:mkTopInput\">mkTopInput</a> :: <a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"mkTopInput","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkTopInput"},{"display_html":"<a href=\"#v:portProductError\">portProductError</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; a","name":"portProductError","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:portProductError"},{"display_html":"<a href=\"#v:mkVectorChain\">mkVectorChain</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>","name":"mkVectorChain","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkVectorChain"},{"display_html":"<a href=\"#v:mkRTreeChain\">mkRTreeChain</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>","name":"mkRTreeChain","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkRTreeChain"},{"display_html":"<a href=\"#v:genComponentName\">genComponentName</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"genComponentName","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:genComponentName"},{"display_html":"<a href=\"#v:genTopName\">genTopName</a> :: <a href=\"Clash-Netlist-Types.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Types\">IdentifierSetMonad</a> m =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; TopEntity -&gt; m <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>","name":"genTopName","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:genTopName"},{"display_html":"<a href=\"#v:stripAttributes\">stripAttributes</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; ([Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>], <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)","name":"stripAttributes","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:stripAttributes"},{"display_html":"<a href=\"#v:mkTopOutput\">mkTopOutput</a> :: <a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([(<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"mkTopOutput","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkTopOutput"},{"display_html":"<a href=\"#v:mkTopCompDecl\">mkTopCompDecl</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>)] -&gt; [<a href=\"Clash-Netlist-Util.html#t:InstancePort\" title=\"Clash.Netlist.Util\">InstancePort</a>] -&gt; [<a href=\"Clash-Netlist-Util.html#t:InstancePort\" title=\"Clash.Netlist.Util\">InstancePort</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>","name":"mkTopCompDecl","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkTopCompDecl"},{"display_html":"<a href=\"#v:mkTopUnWrapper\">mkTopUnWrapper</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:ExpandedTopEntity\" title=\"Clash.Netlist.Types\">ExpandedTopEntity</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>) -&gt; [(<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)] -&gt; [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]","name":"mkTopUnWrapper","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkTopUnWrapper"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:InstancePort\">InstancePort</a> = <a href=\"#v:InstancePort\">InstancePort</a> {<ul class=\"subs\"><li><a href=\"#v:ip_id\">ip_id</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a></li><li><a href=\"#v:ip_type\">ip_type</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li></ul>}","name":"InstancePort ip_id ip_type InstancePort","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#t:InstancePort"},{"display_html":"<a href=\"#v:mkTopInstInput\">mkTopInstInput</a> :: <a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([<a href=\"Clash-Netlist-Util.html#t:InstancePort\" title=\"Clash.Netlist.Util\">InstancePort</a>], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"mkTopInstInput","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkTopInstInput"},{"display_html":"<a href=\"#v:throwAnnotatedSplitError\">throwAnnotatedSplitError</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a","name":"throwAnnotatedSplitError","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:throwAnnotatedSplitError"},{"display_html":"<a href=\"#v:mkTopInstOutput\">mkTopInstOutput</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:ExpandedPortName\" title=\"Clash.Netlist.Types\">ExpandedPortName</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> ([<a href=\"Clash-Netlist-Util.html#t:InstancePort\" title=\"Clash.Netlist.Util\">InstancePort</a>], [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>], <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"mkTopInstOutput","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkTopInstOutput"},{"display_html":"<a href=\"#v:nestM\">nestM</a> :: <a href=\"Clash-Netlist-Types.html#t:Modifier\" title=\"Clash.Netlist.Types\">Modifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Modifier\" title=\"Clash.Netlist.Types\">Modifier</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Netlist-Types.html#t:Modifier\" title=\"Clash.Netlist.Types\">Modifier</a>","name":"nestM","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:nestM"},{"display_html":"<a href=\"#v:bindsExistentials\">bindsExistentials</a> :: [<a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>] -&gt; [<a href=\"Clash-Core-Var.html#t:Var\" title=\"Clash.Core.Var\">Var</a> a] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"bindsExistentials","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:bindsExistentials"},{"display_html":"<a href=\"#v:iteAlts\">iteAlts</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Alt\" title=\"Clash.Core.Term\">Alt</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"iteAlts","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:iteAlts"},{"display_html":"<a href=\"#v:withTicks\">withTicks</a> :: [<a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>] -&gt; ([<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a) -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a","name":"withTicks","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:withTicks"},{"display_html":"<a href=\"#v:affixName\">affixName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"affixName","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:affixName"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ExpandError\">ExpandError</a><ul class=\"subs\"><li>= <a href=\"#v:AttrError\">AttrError</a> [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li><li>| <a href=\"#v:PortProductError\">PortProductError</a> PortName <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li></ul>","name":"ExpandError PortProductError AttrError","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#t:ExpandError"},{"display_html":"<a href=\"#v:expandTopEntityOrErrM\">expandTopEntityOrErrM</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; [(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)] -&gt; (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> TopEntity -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:ExpandedTopEntity\" title=\"Clash.Netlist.Types\">ExpandedTopEntity</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>)","name":"expandTopEntityOrErrM","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:expandTopEntityOrErrM"},{"display_html":"<a href=\"#v:expandTopEntity\">expandTopEntity</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; [(<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>)] -&gt; (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> TopEntity -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Netlist-Util.html#t:ExpandError\" title=\"Clash.Netlist.Util\">ExpandError</a> (<a href=\"Clash-Netlist-Types.html#t:ExpandedTopEntity\" title=\"Clash.Netlist.Types\">ExpandedTopEntity</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>))","name":"expandTopEntity","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:expandTopEntity"},{"display_html":"<a href=\"#v:mkLiteral\">mkLiteral</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Core-Literal.html#t:Literal\" title=\"Clash.Core.Literal\">Literal</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>","name":"mkLiteral","module":"Clash.Netlist.Util","link":"Clash-Netlist-Util.html#v:mkLiteral"},{"display_html":"<a href=\"#v:apply\">apply</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra","name":"apply","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:apply"},{"display_html":"<a href=\"#v:isUntranslatableType\">isUntranslatableType</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isUntranslatableType","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:isUntranslatableType"},{"display_html":"<a href=\"#v:runRewriteSession\">runRewriteSession</a> :: <a href=\"Clash-Rewrite-Types.html#t:RewriteEnv\" title=\"Clash.Rewrite.Types\">RewriteEnv</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteState\" title=\"Clash.Rewrite.Types\">RewriteState</a> extra -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra a -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> a","name":"runRewriteSession","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:runRewriteSession"},{"display_html":"<a href=\"#v:changed\">changed</a> :: a -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra a","name":"changed","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:changed"},{"display_html":"<a href=\"#v:isUntranslatable\">isUntranslatable</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isUntranslatable","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:isUntranslatable"},{"display_html":"<a href=\"#v:mkDerivedName\">mkDerivedName</a> :: <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Core-Name.html#t:OccName\" title=\"Clash.Core.Name\">OccName</a> -&gt; <a href=\"Clash-Core-Term.html#t:TmName\" title=\"Clash.Core.Term\">TmName</a>","name":"mkDerivedName","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:mkDerivedName"},{"display_html":"<a href=\"#v:mkTmBinderFor\">mkTmBinderFor</a> :: <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; m <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"mkTmBinderFor","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:mkTmBinderFor"},{"display_html":"<a href=\"#v:isFromInt\">isFromInt</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isFromInt","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:isFromInt"},{"display_html":"<a href=\"#v:whnfRW\">whnfRW</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"whnfRW","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:whnfRW"},{"display_html":"<a href=\"#v:inlineBinders\">inlineBinders</a> :: (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra","name":"inlineBinders","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:inlineBinders"},{"display_html":"<a href=\"#v:inlineOrLiftBinders\">inlineOrLiftBinders</a> :: (<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>) -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra","name":"inlineOrLiftBinders","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:inlineOrLiftBinders"},{"display_html":"<a href=\"#v:isJoinPointIn\">isJoinPointIn</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isJoinPointIn","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:isJoinPointIn"},{"display_html":"<a href=\"#v:isVoidWrapper\">isVoidWrapper</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isVoidWrapper","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:isVoidWrapper"},{"display_html":"<a href=\"#v:zoomExtra\">zoomExtra</a> :: <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> extra a -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra a","name":"zoomExtra","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:zoomExtra"},{"display_html":"<a href=\"#v:removeUnusedBinders\">removeUnusedBinders</a> :: <a href=\"Clash-Core-Term.html#t:Bind\" title=\"Clash.Core.Term\">Bind</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"removeUnusedBinders","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:removeUnusedBinders"},{"display_html":"<a href=\"#v:setChanged\">setChanged</a> :: <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra ()","name":"setChanged","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:setChanged"},{"display_html":"<a href=\"#v:mkBinderFor\">mkBinderFor</a> :: <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; m (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> <a href=\"Clash-Core-Var.html#t:TyVar\" title=\"Clash.Core.Var\">TyVar</a>)","name":"mkBinderFor","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:mkBinderFor"},{"display_html":"<a href=\"#v:mkFunction\">mkFunction</a> :: <a href=\"Clash-Core-Term.html#t:TmName\" title=\"Clash.Core.Term\">TmName</a> -&gt; <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a> -&gt; <a href=\"/package/ghc-9.6.7/docs/GHC-Types-Basic.html#t:InlineSpec\" title=\"GHC.Types.Basic\">InlineSpec</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"mkFunction","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:mkFunction"},{"display_html":"<a href=\"#v:normalizeTermTypes\">normalizeTermTypes</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"normalizeTermTypes","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:normalizeTermTypes"},{"display_html":"<a href=\"#v:normalizeId\">normalizeId</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"normalizeId","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:normalizeId"},{"display_html":"<a href=\"#v:runRewrite\">runRewrite</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"runRewrite","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:runRewrite"},{"display_html":"<a href=\"#v:applyDebug\">applyDebug</a> :: <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"applyDebug","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:applyDebug"},{"display_html":"<a href=\"#v:findAccidentialShadows\">findAccidentialShadows</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; [[<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>]]","name":"findAccidentialShadows","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:findAccidentialShadows"},{"display_html":"<a href=\"#v:closestLetBinder\">closestLetBinder</a> :: <a href=\"Clash-Core-Term.html#t:Context\" title=\"Clash.Core.Term\">Context</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>","name":"closestLetBinder","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:closestLetBinder"},{"display_html":"<a href=\"#v:cloneNameWithInScopeSet\">cloneNameWithInScopeSet</a> :: <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a -&gt; m (<a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a)","name":"cloneNameWithInScopeSet","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:cloneNameWithInScopeSet"},{"display_html":"<a href=\"#v:substituteBinders\">substituteBinders</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; ([<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>], ([<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>], <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>))","name":"substituteBinders","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:substituteBinders"},{"display_html":"<a href=\"#v:tailCalls\">tailCalls</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"tailCalls","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:tailCalls"},{"display_html":"<a href=\"#v:liftAndSubsituteBinders\">liftAndSubsituteBinders</a> :: <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra ([<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>], <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"liftAndSubsituteBinders","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:liftAndSubsituteBinders"},{"display_html":"<a href=\"#v:liftBinding\">liftBinding</a> :: <a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra <a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>","name":"liftBinding","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:liftBinding"},{"display_html":"<a href=\"#v:cloneNameWithBindingMap\">cloneNameWithBindingMap</a> :: <a href=\"Clash-Util.html#t:MonadUnique\" title=\"Clash.Util\">MonadUnique</a> m =&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a -&gt; m (<a href=\"Clash-Core-Name.html#t:Name\" title=\"Clash.Core.Name\">Name</a> a)","name":"cloneNameWithBindingMap","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:cloneNameWithBindingMap"},{"display_html":"<a href=\"#v:addGlobalBind\">addGlobalBind</a> :: <a href=\"Clash-Core-Term.html#t:TmName\" title=\"Clash.Core.Term\">TmName</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a> -&gt; <a href=\"/package/ghc-9.6.7/docs/GHC-Types-Basic.html#t:InlineSpec\" title=\"GHC.Types.Basic\">InlineSpec</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> extra ()","name":"addGlobalBind","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:addGlobalBind"},{"display_html":"<a href=\"#v:bindPureHeap\">bindPureHeap</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:PureHeap\" title=\"Clash.Core.Evaluator.Types\">PureHeap</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra","name":"bindPureHeap","module":"Clash.Rewrite.Util","link":"Clash-Rewrite-Util.html#v:bindPureHeap"},{"display_html":"module <a href=\"Clash-Rewrite-WorkFree.html\">Clash.Rewrite.WorkFree</a>","name":"","module":"Clash.Rewrite.Util","link":""},{"display_html":"<a href=\"#v:xOptimize\">xOptimize</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"xOptimize","module":"Clash.Normalize.Transformations.XOptimize","link":"Clash-Normalize-Transformations-XOptimize.html#v:xOptimize"},{"display_html":"<a href=\"#v:separateArguments\">separateArguments</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"separateArguments","module":"Clash.Normalize.Transformations.SeparateArgs","link":"Clash-Normalize-Transformations-SeparateArgs.html#v:separateArguments"},{"display_html":"<a href=\"#v:setupMultiResultPrim\">setupMultiResultPrim</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"setupMultiResultPrim","module":"Clash.Normalize.Transformations.MultiPrim","link":"Clash-Normalize-Transformations-MultiPrim.html#v:setupMultiResultPrim"},{"display_html":"<a href=\"#v:etaExpandSyn\">etaExpandSyn</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"etaExpandSyn","module":"Clash.Normalize.Transformations.EtaExpand","link":"Clash-Normalize-Transformations-EtaExpand.html#v:etaExpandSyn"},{"display_html":"<a href=\"#v:etaExpansionTL\">etaExpansionTL</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"etaExpansionTL","module":"Clash.Normalize.Transformations.EtaExpand","link":"Clash-Normalize-Transformations-EtaExpand.html#v:etaExpansionTL"},{"display_html":"<a href=\"#v:typeNatAdd\">typeNatAdd</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a>","name":"typeNatAdd","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:typeNatAdd"},{"display_html":"<a href=\"#v:typeNatMul\">typeNatMul</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a>","name":"typeNatMul","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:typeNatMul"},{"display_html":"<a href=\"#v:typeNatSub\">typeNatSub</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a>","name":"typeNatSub","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:typeNatSub"},{"display_html":"<a href=\"#v:vecHeadPrim\">vecHeadPrim</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"vecHeadPrim","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:vecHeadPrim"},{"display_html":"<a href=\"#v:vecLastPrim\">vecLastPrim</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"vecLastPrim","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:vecLastPrim"},{"display_html":"<a href=\"#v:vecHeadTy\">vecHeadTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"vecHeadTy","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:vecHeadTy"},{"display_html":"<a href=\"#v:vecTailPrim\">vecTailPrim</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"vecTailPrim","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:vecTailPrim"},{"display_html":"<a href=\"#v:vecInitPrim\">vecInitPrim</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"vecInitPrim","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:vecInitPrim"},{"display_html":"<a href=\"#v:vecTailTy\">vecTailTy</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"vecTailTy","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:vecTailTy"},{"display_html":"<a href=\"#v:extractHeadTail\">extractHeadTail</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; (<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"extractHeadTail","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:extractHeadTail"},{"display_html":"<a href=\"#v:mkVecCons\">mkVecCons</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkVecCons","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:mkVecCons"},{"display_html":"<a href=\"#v:mkVecNil\">mkVecNil</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkVecNil","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:mkVecNil"},{"display_html":"<a href=\"#v:reduceReverse\">reduceReverse</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceReverse","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceReverse"},{"display_html":"<a href=\"#v:reduceZipWith\">reduceZipWith</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceZipWith","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceZipWith"},{"display_html":"<a href=\"#v:reduceMap\">reduceMap</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceMap","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceMap"},{"display_html":"<a href=\"#v:reduceImap\">reduceImap</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceImap","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceImap"},{"display_html":"<a href=\"#v:reduceIterateI\">reduceIterateI</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceIterateI","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceIterateI"},{"display_html":"<a href=\"#v:reduceTraverse\">reduceTraverse</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceTraverse","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceTraverse"},{"display_html":"<a href=\"#v:mkTravVec\">mkTravVec</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConName\" title=\"Clash.Core.TyCon\">TyConName</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"mkTravVec","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:mkTravVec"},{"display_html":"<a href=\"#v:reduceFoldr\">reduceFoldr</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceFoldr","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceFoldr"},{"display_html":"<a href=\"#v:reduceFold\">reduceFold</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceFold","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceFold"},{"display_html":"<a href=\"#v:reduceDFold\">reduceDFold</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceDFold","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceDFold"},{"display_html":"<a href=\"#v:reduceHead\">reduceHead</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceHead","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceHead"},{"display_html":"<a href=\"#v:reduceTail\">reduceTail</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceTail","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceTail"},{"display_html":"<a href=\"#v:reduceLast\">reduceLast</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceLast","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceLast"},{"display_html":"<a href=\"#v:reduceInit\">reduceInit</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceInit","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceInit"},{"display_html":"<a href=\"#v:reduceAppend\">reduceAppend</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceAppend","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceAppend"},{"display_html":"<a href=\"#v:reduceUnconcat\">reduceUnconcat</a> :: <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceUnconcat","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceUnconcat"},{"display_html":"<a href=\"#v:reduceTranspose\">reduceTranspose</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceTranspose","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceTranspose"},{"display_html":"<a href=\"#v:reduceReplicate\">reduceReplicate</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceReplicate","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceReplicate"},{"display_html":"<a href=\"#v:reduceReplace_int\">reduceReplace_int</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceReplace_int","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceReplace_int"},{"display_html":"<a href=\"#v:reduceIndex_int\">reduceIndex_int</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceIndex_int","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceIndex_int"},{"display_html":"<a href=\"#v:reduceDTFold\">reduceDTFold</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceDTFold","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceDTFold"},{"display_html":"<a href=\"#v:reduceTFold\">reduceTFold</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceTFold","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceTFold"},{"display_html":"<a href=\"#v:reduceTReplicate\">reduceTReplicate</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"reduceTReplicate","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:reduceTReplicate"},{"display_html":"<a href=\"#v:buildSNat\">buildSNat</a> :: <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"buildSNat","module":"Clash.Normalize.PrimitiveReductions","link":"Clash-Normalize-PrimitiveReductions.html#v:buildSNat"},{"display_html":"<a href=\"#v:caseCase\">caseCase</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"caseCase","module":"Clash.Normalize.Transformations.Case","link":"Clash-Normalize-Transformations-Case.html#v:caseCase"},{"display_html":"<a href=\"#v:caseCon\">caseCon</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"caseCon","module":"Clash.Normalize.Transformations.Case","link":"Clash-Normalize-Transformations-Case.html#v:caseCon"},{"display_html":"<a href=\"#v:caseElemNonReachable\">caseElemNonReachable</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"caseElemNonReachable","module":"Clash.Normalize.Transformations.Case","link":"Clash-Normalize-Transformations-Case.html#v:caseElemNonReachable"},{"display_html":"<a href=\"#v:caseFlat\">caseFlat</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"caseFlat","module":"Clash.Normalize.Transformations.Case","link":"Clash-Normalize-Transformations-Case.html#v:caseFlat"},{"display_html":"<a href=\"#v:caseLet\">caseLet</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"caseLet","module":"Clash.Normalize.Transformations.Case","link":"Clash-Normalize-Transformations-Case.html#v:caseLet"},{"display_html":"<a href=\"#v:caseOneAlt\">caseOneAlt</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"caseOneAlt","module":"Clash.Normalize.Transformations.Case","link":"Clash-Normalize-Transformations-Case.html#v:caseOneAlt"},{"display_html":"<a href=\"#v:elimExistentials\">elimExistentials</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"elimExistentials","module":"Clash.Normalize.Transformations.Case","link":"Clash-Normalize-Transformations-Case.html#v:elimExistentials"},{"display_html":"<a href=\"#v:renderTemplate\">renderTemplate</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> backend (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>)","name":"renderTemplate","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:renderTemplate"},{"display_html":"<a href=\"#v:walkElement\">walkElement</a> :: (<a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a) -&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> -&gt; [a]","name":"walkElement","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:walkElement"},{"display_html":"<a href=\"#v:verifyBlackBoxContext\">verifyBlackBoxContext</a> :: <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"verifyBlackBoxContext","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:verifyBlackBoxContext"},{"display_html":"<a href=\"#v:onBlackBox\">onBlackBox</a> :: (<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a> -&gt; r) -&gt; (<a href=\"Clash-Netlist-Types.html#t:BBName\" title=\"Clash.Netlist.Types\">BBName</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BBHash\" title=\"Clash.Netlist.Types\">BBHash</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a> -&gt; r) -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> -&gt; r","name":"onBlackBox","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:onBlackBox"},{"display_html":"<a href=\"#v:setSym\">setSym</a> :: <span class=\"keyword\">forall</span> m. <a href=\"Clash-Netlist-Types.html#t:IdentifierSetMonad\" title=\"Clash.Netlist.Types\">IdentifierSetMonad</a> m =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a> -&gt; m (<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"setSym","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:setSym"},{"display_html":"<a href=\"#v:extractLiterals\">extractLiterals</a> :: <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>]","name":"extractLiterals","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:extractLiterals"},{"display_html":"<a href=\"#v:renderBlackBox\">renderBlackBox</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] -&gt; [<a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>] -&gt; [((<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>), <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>)] -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> backend (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>)","name":"renderBlackBox","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:renderBlackBox"},{"display_html":"<a href=\"#v:getUsedArguments\">getUsedArguments</a> :: <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]","name":"getUsedArguments","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:getUsedArguments"},{"display_html":"<a href=\"#v:canonicalizeDataFilePath\">canonicalizeDataFilePath</a> :: [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"canonicalizeDataFilePath","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:canonicalizeDataFilePath"},{"display_html":"<a href=\"#v:addFilePath\">addFilePath</a> :: [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>] -&gt; <a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> FileName -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; (<a href=\"/package/containers-0.6.7/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> FileName, FileName)","name":"addFilePath","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:addFilePath"},{"display_html":"<a href=\"#v:exprToString\">exprToString</a> :: <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"exprToString","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:exprToString"},{"display_html":"<a href=\"#v:renderElem\">renderElem</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:Element\" title=\"Clash.Netlist.BlackBox.Types\">Element</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> backend (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>)","name":"renderElem","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:renderElem"},{"display_html":"<a href=\"#v:getDomainConf\">getDomainConf</a> :: (<a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend, <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>) =&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> backend VDomainConfiguration","name":"getDomainConf","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:getDomainConf"},{"display_html":"<a href=\"#v:prettyBlackBox\">prettyBlackBox</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> m <a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>","name":"prettyBlackBox","module":"Clash.Netlist.BlackBox.Util","link":"Clash-Netlist-BlackBox-Util.html#v:prettyBlackBox"},{"display_html":"<a href=\"#v:generatePrimMap\">generatePrimMap</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; [<a href=\"Clash-Primitives-Types.html#t:UnresolvedPrimitive\" title=\"Clash.Primitives.Types\">UnresolvedPrimitive</a>] -&gt; [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, PrimitiveGuard ())] -&gt; [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"Clash-Primitives-Types.html#t:ResolvedPrimMap\" title=\"Clash.Primitives.Types\">ResolvedPrimMap</a>","name":"generatePrimMap","module":"Clash.Primitives.Util","link":"Clash-Primitives-Util.html#v:generatePrimMap"},{"display_html":"<a href=\"#v:hashCompiledPrimMap\">hashCompiledPrimMap</a> :: <a href=\"Clash-Primitives-Types.html#t:CompiledPrimMap\" title=\"Clash.Primitives.Types\">CompiledPrimMap</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"hashCompiledPrimMap","module":"Clash.Primitives.Util","link":"Clash-Primitives-Util.html#v:hashCompiledPrimMap"},{"display_html":"<a href=\"#v:constantArgs\">constantArgs</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-Types.html#t:CompiledPrimitive\" title=\"Clash.Primitives.Types\">CompiledPrimitive</a> -&gt; <a href=\"/package/containers-0.6.7/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"constantArgs","module":"Clash.Primitives.Util","link":"Clash-Primitives-Util.html#v:constantArgs"},{"display_html":"<a href=\"#v:decodeOrErrJson\">decodeOrErrJson</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"/package/aeson-2.2.3.0/docs/Data-Aeson-Types.html#t:FromJSON\" title=\"Data.Aeson.Types\">FromJSON</a> a) =&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString-Lazy.html#t:ByteString\" title=\"Data.ByteString.Lazy\">ByteString</a> -&gt; a","name":"decodeOrErrJson","module":"Clash.Primitives.Util","link":"Clash-Primitives-Util.html#v:decodeOrErrJson"},{"display_html":"<a href=\"#v:decodeOrErrYaml\">decodeOrErrYaml</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"/package/aeson-2.2.3.0/docs/Data-Aeson-Types.html#t:FromJSON\" title=\"Data.Aeson.Types\">FromJSON</a> a) =&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString-Lazy.html#t:ByteString\" title=\"Data.ByteString.Lazy\">ByteString</a> -&gt; a","name":"decodeOrErrYaml","module":"Clash.Primitives.Util","link":"Clash-Primitives-Util.html#v:decodeOrErrYaml"},{"display_html":"<a href=\"#v:getFunctionPlurality\">getFunctionPlurality</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Primitives-Types.html#t:CompiledPrimitive\" title=\"Clash.Primitives.Types\">CompiledPrimitive</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; [<a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"getFunctionPlurality","module":"Clash.Primitives.Util","link":"Clash-Primitives-Util.html#v:getFunctionPlurality"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ConstantSpecInfo\">ConstantSpecInfo</a> = <a href=\"#v:ConstantSpecInfo\">ConstantSpecInfo</a> {<ul class=\"subs\"><li><a href=\"#v:csrNewBindings\">csrNewBindings</a> :: [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)]</li><li><a href=\"#v:csrNewTerm\">csrNewTerm</a> :: !<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a></li><li><a href=\"#v:csrFoundConstant\">csrFoundConstant</a> :: !<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"ConstantSpecInfo ConstantSpecInfo csrFoundConstant csrNewBindings csrNewTerm","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#t:ConstantSpecInfo"},{"display_html":"<a href=\"#v:isConstantArg\">isConstantArg</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isConstantArg","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:isConstantArg"},{"display_html":"<a href=\"#v:shouldReduce\">shouldReduce</a> :: <a href=\"Clash-Core-Term.html#t:Context\" title=\"Clash.Core.Term\">Context</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"shouldReduce","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:shouldReduce"},{"display_html":"<a href=\"#v:alreadyInlined\">alreadyInlined</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeMonad\" title=\"Clash.Normalize.Types\">NormalizeMonad</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)","name":"alreadyInlined","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:alreadyInlined"},{"display_html":"<a href=\"#v:addNewInline\">addNewInline</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeMonad\" title=\"Clash.Normalize.Types\">NormalizeMonad</a> ()","name":"addNewInline","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:addNewInline"},{"display_html":"<a href=\"#v:isRecursiveBndr\">isRecursiveBndr</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isRecursiveBndr","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:isRecursiveBndr"},{"display_html":"<a href=\"#v:callGraph\">callGraph</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; CallGraph","name":"callGraph","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:callGraph"},{"display_html":"<a href=\"#v:collectCallGraphUniques\">collectCallGraphUniques</a> :: CallGraph -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashSet.html#t:HashSet\" title=\"Data.HashSet\">HashSet</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>","name":"collectCallGraphUniques","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:collectCallGraphUniques"},{"display_html":"<a href=\"#v:classifyFunction\">classifyFunction</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:TermClassification\" title=\"Clash.Normalize.Types\">TermClassification</a>","name":"classifyFunction","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:classifyFunction"},{"display_html":"<a href=\"#v:isCheapFunction\">isCheapFunction</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isCheapFunction","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:isCheapFunction"},{"display_html":"<a href=\"#v:isNonRecursiveGlobalVar\">isNonRecursiveGlobalVar</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isNonRecursiveGlobalVar","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:isNonRecursiveGlobalVar"},{"display_html":"<a href=\"#v:constantSpecInfo\">constantSpecInfo</a> :: <a href=\"Clash-Rewrite-Types.html#t:TransformContext\" title=\"Clash.Rewrite.Types\">TransformContext</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Rewrite-Types.html#t:RewriteMonad\" title=\"Clash.Rewrite.Types\">RewriteMonad</a> <a href=\"Clash-Normalize-Types.html#t:NormalizeState\" title=\"Clash.Normalize.Types\">NormalizeState</a> <a href=\"Clash-Normalize-Util.html#t:ConstantSpecInfo\" title=\"Clash.Normalize.Util\">ConstantSpecInfo</a>","name":"constantSpecInfo","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:constantSpecInfo"},{"display_html":"<a href=\"#v:normalizeTopLvlBndr\">normalizeTopLvlBndr</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> (<a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"normalizeTopLvlBndr","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:normalizeTopLvlBndr"},{"display_html":"<a href=\"#v:rewriteExpr\">rewriteExpr</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>) -&gt; (<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) -&gt; (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a>) -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"rewriteExpr","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:rewriteExpr"},{"display_html":"<a href=\"#v:mkInlineTick\">mkInlineTick</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:TickInfo\" title=\"Clash.Core.Term\">TickInfo</a>","name":"mkInlineTick","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:mkInlineTick"},{"display_html":"<a href=\"#v:substWithTyEq\">substWithTyEq</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>","name":"substWithTyEq","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:substWithTyEq"},{"display_html":"<a href=\"#v:tvSubstWithTyEq\">tvSubstWithTyEq</a> :: <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>","name":"tvSubstWithTyEq","module":"Clash.Normalize.Util","link":"Clash-Normalize-Util.html#v:tvSubstWithTyEq"},{"display_html":"<a href=\"#v:topSort\">topSort</a> :: [(<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>, a)] -&gt; [(<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>, <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>)] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> [a]","name":"topSort","module":"Clash.Util.Graph","link":"Clash-Util-Graph.html#v:topSort"},{"display_html":"<a href=\"#v:reverseTopSort\">reverseTopSort</a> :: [(<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>, a)] -&gt; [(<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>, <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>)] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> [a]","name":"reverseTopSort","module":"Clash.Util.Graph","link":"Clash-Util-Graph.html#v:reverseTopSort"},{"display_html":"<a href=\"#v:callGraphBindings\">callGraphBindings</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>]","name":"callGraphBindings","module":"Clash.Util.Graph","link":"Clash-Util-Graph.html#v:callGraphBindings"},{"display_html":"<a href=\"#v:appProp\">appProp</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"appProp","module":"Clash.Normalize.Transformations.Specialize","link":"Clash-Normalize-Transformations-Specialize.html#v:appProp"},{"display_html":"<a href=\"#v:constantSpec\">constantSpec</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"constantSpec","module":"Clash.Normalize.Transformations.Specialize","link":"Clash-Normalize-Transformations-Specialize.html#v:constantSpec"},{"display_html":"<a href=\"#v:specialize\">specialize</a> :: <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"specialize","module":"Clash.Normalize.Transformations.Specialize","link":"Clash-Normalize-Transformations-Specialize.html#v:specialize"},{"display_html":"<a href=\"#v:nonRepSpec\">nonRepSpec</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"nonRepSpec","module":"Clash.Normalize.Transformations.Specialize","link":"Clash-Normalize-Transformations-Specialize.html#v:nonRepSpec"},{"display_html":"<a href=\"#v:typeSpec\">typeSpec</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"typeSpec","module":"Clash.Normalize.Transformations.Specialize","link":"Clash-Normalize-Transformations-Specialize.html#v:typeSpec"},{"display_html":"<a href=\"#v:zeroWidthSpec\">zeroWidthSpec</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"zeroWidthSpec","module":"Clash.Normalize.Transformations.Specialize","link":"Clash-Normalize-Transformations-Specialize.html#v:zeroWidthSpec"},{"display_html":"<a href=\"#v:argCastSpec\">argCastSpec</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"argCastSpec","module":"Clash.Normalize.Transformations.Cast","link":"Clash-Normalize-Transformations-Cast.html#v:argCastSpec"},{"display_html":"<a href=\"#v:caseCast\">caseCast</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"caseCast","module":"Clash.Normalize.Transformations.Cast","link":"Clash-Normalize-Transformations-Cast.html#v:caseCast"},{"display_html":"<a href=\"#v:elimCastCast\">elimCastCast</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"elimCastCast","module":"Clash.Normalize.Transformations.Cast","link":"Clash-Normalize-Transformations-Cast.html#v:elimCastCast"},{"display_html":"<a href=\"#v:letCast\">letCast</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"letCast","module":"Clash.Normalize.Transformations.Cast","link":"Clash-Normalize-Transformations-Cast.html#v:letCast"},{"display_html":"<a href=\"#v:splitCastWork\">splitCastWork</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"splitCastWork","module":"Clash.Normalize.Transformations.Cast","link":"Clash-Normalize-Transformations-Cast.html#v:splitCastWork"},{"display_html":"<a href=\"#v:makeANF\">makeANF</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"makeANF","module":"Clash.Normalize.Transformations.ANF","link":"Clash-Normalize-Transformations-ANF.html#v:makeANF"},{"display_html":"<a href=\"#v:nonRepANF\">nonRepANF</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"nonRepANF","module":"Clash.Normalize.Transformations.ANF","link":"Clash-Normalize-Transformations-ANF.html#v:nonRepANF"},{"display_html":"<a href=\"#v:reduceBinders\">reduceBinders</a> :: <a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a> -&gt; [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>] -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> (<a href=\"Clash-Core-Subst.html#t:Subst\" title=\"Clash.Core.Subst\">Subst</a>, [<a href=\"Clash-Core-Term.html#t:LetBinding\" title=\"Clash.Core.Term\">LetBinding</a>])","name":"reduceBinders","module":"Clash.Normalize.Transformations.Reduce","link":"Clash-Normalize-Transformations-Reduce.html#v:reduceBinders"},{"display_html":"<a href=\"#v:reduceConst\">reduceConst</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"reduceConst","module":"Clash.Normalize.Transformations.Reduce","link":"Clash-Normalize-Transformations-Reduce.html#v:reduceConst"},{"display_html":"<a href=\"#v:reduceNonRepPrim\">reduceNonRepPrim</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"reduceNonRepPrim","module":"Clash.Normalize.Transformations.Reduce","link":"Clash-Normalize-Transformations-Reduce.html#v:reduceNonRepPrim"},{"display_html":"<a href=\"#v:bindConstantVar\">bindConstantVar</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"bindConstantVar","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:bindConstantVar"},{"display_html":"<a href=\"#v:inlineBndrsCleanup\">inlineBndrsCleanup</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-VarEnv.html#t:InScopeSet\" title=\"Clash.Core.VarEnv\">InScopeSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> ((<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>), <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>) -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> ((<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>), <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, Mark) -&gt; [((<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>), <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)] -&gt; [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)]","name":"inlineBndrsCleanup","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineBndrsCleanup"},{"display_html":"<a href=\"#v:inlineCast\">inlineCast</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"inlineCast","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineCast"},{"display_html":"<a href=\"#v:inlineCleanup\">inlineCleanup</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"inlineCleanup","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineCleanup"},{"display_html":"<a href=\"#v:collapseRHSNoops\">collapseRHSNoops</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"collapseRHSNoops","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:collapseRHSNoops"},{"display_html":"<a href=\"#v:inlineNonRep\">inlineNonRep</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"inlineNonRep","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineNonRep"},{"display_html":"<a href=\"#v:inlineOrLiftNonRep\">inlineOrLiftNonRep</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"inlineOrLiftNonRep","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineOrLiftNonRep"},{"display_html":"<a href=\"#v:inlineSimIO\">inlineSimIO</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"inlineSimIO","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineSimIO"},{"display_html":"<a href=\"#v:inlineSmall\">inlineSmall</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"inlineSmall","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineSmall"},{"display_html":"<a href=\"#v:inlineWorkFree\">inlineWorkFree</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"inlineWorkFree","module":"Clash.Normalize.Transformations.Inline","link":"Clash-Normalize-Transformations-Inline.html#v:inlineWorkFree"},{"display_html":"<a href=\"#v:deadCode\">deadCode</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"deadCode","module":"Clash.Normalize.Transformations.Letrec","link":"Clash-Normalize-Transformations-Letrec.html#v:deadCode"},{"display_html":"<a href=\"#v:flattenLet\">flattenLet</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"flattenLet","module":"Clash.Normalize.Transformations.Letrec","link":"Clash-Normalize-Transformations-Letrec.html#v:flattenLet"},{"display_html":"<a href=\"#v:recToLetRec\">recToLetRec</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"recToLetRec","module":"Clash.Normalize.Transformations.Letrec","link":"Clash-Normalize-Transformations-Letrec.html#v:recToLetRec"},{"display_html":"<a href=\"#v:removeUnusedExpr\">removeUnusedExpr</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"removeUnusedExpr","module":"Clash.Normalize.Transformations.Letrec","link":"Clash-Normalize-Transformations-Letrec.html#v:removeUnusedExpr"},{"display_html":"<a href=\"#v:simpleCSE\">simpleCSE</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"simpleCSE","module":"Clash.Normalize.Transformations.Letrec","link":"Clash-Normalize-Transformations-Letrec.html#v:simpleCSE"},{"display_html":"<a href=\"#v:topLet\">topLet</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"topLet","module":"Clash.Normalize.Transformations.Letrec","link":"Clash-Normalize-Transformations-Letrec.html#v:topLet"},{"display_html":"<a href=\"#v:disjointExpressionConsolidation\">disjointExpressionConsolidation</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"disjointExpressionConsolidation","module":"Clash.Normalize.Transformations.DEC","link":"Clash-Normalize-Transformations-DEC.html#v:disjointExpressionConsolidation"},{"display_html":"module <a href=\"Clash-Normalize-Transformations-XOptimize.html\">Clash.Normalize.Transformations.XOptimize</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-Specialize.html\">Clash.Normalize.Transformations.Specialize</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-SeparateArgs.html\">Clash.Normalize.Transformations.SeparateArgs</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-Reduce.html\">Clash.Normalize.Transformations.Reduce</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-MultiPrim.html\">Clash.Normalize.Transformations.MultiPrim</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-Letrec.html\">Clash.Normalize.Transformations.Letrec</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-Inline.html\">Clash.Normalize.Transformations.Inline</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-EtaExpand.html\">Clash.Normalize.Transformations.EtaExpand</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-DEC.html\">Clash.Normalize.Transformations.DEC</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-Cast.html\">Clash.Normalize.Transformations.Cast</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-Case.html\">Clash.Normalize.Transformations.Case</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"module <a href=\"Clash-Normalize-Transformations-ANF.html\">Clash.Normalize.Transformations.ANF</a>","name":"","module":"Clash.Normalize.Transformations","link":""},{"display_html":"<a href=\"#v:normalization\">normalization</a> :: <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"normalization","module":"Clash.Normalize.Strategy","link":"Clash-Normalize-Strategy.html#v:normalization"},{"display_html":"<a href=\"#v:constantPropagation\">constantPropagation</a> :: <a href=\"Clash-Normalize-Types.html#t:NormRewrite\" title=\"Clash.Normalize.Types\">NormRewrite</a>","name":"constantPropagation","module":"Clash.Normalize.Strategy","link":"Clash-Normalize-Strategy.html#v:constantPropagation"},{"display_html":"<a href=\"#v:topdownSucR\">topdownSucR</a> :: <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra","name":"topdownSucR","module":"Clash.Normalize.Strategy","link":"Clash-Normalize-Strategy.html#v:topdownSucR"},{"display_html":"<a href=\"#v:innerMost\">innerMost</a> :: <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra","name":"innerMost","module":"Clash.Normalize.Strategy","link":"Clash-Normalize-Strategy.html#v:innerMost"},{"display_html":"<a href=\"#v:applyMany\">applyMany</a> :: [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra)] -&gt; <a href=\"Clash-Rewrite-Types.html#t:Rewrite\" title=\"Clash.Rewrite.Types\">Rewrite</a> extra","name":"applyMany","module":"Clash.Normalize.Strategy","link":"Clash-Normalize-Strategy.html#v:applyMany"},{"display_html":"<a href=\"#v:runNormalization\">runNormalization</a> :: <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a> -&gt; <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; <a href=\"Clash-Core-PartialEval.html#t:Evaluator\" title=\"Clash.Core.PartialEval\">Evaluator</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Evaluator\" title=\"Clash.Core.Evaluator.Types\">Evaluator</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> a","name":"runNormalization","module":"Clash.Normalize","link":"Clash-Normalize.html#v:runNormalization"},{"display_html":"<a href=\"#v:normalize\">normalize</a> :: [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>","name":"normalize","module":"Clash.Normalize","link":"Clash-Normalize.html#v:normalize"},{"display_html":"<a href=\"#v:normalize-39-\">normalize'</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> ([<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>], (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>))","name":"normalize'","module":"Clash.Normalize","link":"Clash-Normalize.html#v:normalize-39-"},{"display_html":"<a href=\"#v:checkNonRecursive\">checkNonRecursive</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>","name":"checkNonRecursive","module":"Clash.Normalize","link":"Clash-Normalize.html#v:checkNonRecursive"},{"display_html":"<a href=\"#v:cleanupGraph\">cleanupGraph</a> :: <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>","name":"cleanupGraph","module":"Clash.Normalize","link":"Clash-Normalize.html#v:cleanupGraph"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:CallTree\">CallTree</a><ul class=\"subs\"><li>= <a href=\"#v:CLeaf\">CLeaf</a> (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)</li><li>| <a href=\"#v:CBranch\">CBranch</a> (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) [<a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a>]</li></ul>","name":"CallTree CBranch CLeaf","module":"Clash.Normalize","link":"Clash-Normalize.html#t:CallTree"},{"display_html":"<a href=\"#v:mkCallTree\">mkCallTree</a> :: [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a>","name":"mkCallTree","module":"Clash.Normalize","link":"Clash-Normalize.html#v:mkCallTree"},{"display_html":"<a href=\"#v:stripArgs\">stripArgs</a> :: [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>]","name":"stripArgs","module":"Clash.Normalize","link":"Clash-Normalize.html#v:stripArgs"},{"display_html":"<a href=\"#v:flattenNode\">flattenNode</a> :: <a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a> ((<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>), [<a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a>]))","name":"flattenNode","module":"Clash.Normalize","link":"Clash-Normalize.html#v:flattenNode"},{"display_html":"<a href=\"#v:flattenCallTree\">flattenCallTree</a> :: <a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a> -&gt; <a href=\"Clash-Normalize-Types.html#t:NormalizeSession\" title=\"Clash.Normalize.Types\">NormalizeSession</a> <a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a>","name":"flattenCallTree","module":"Clash.Normalize","link":"Clash-Normalize.html#v:flattenCallTree"},{"display_html":"<a href=\"#v:callTreeToList\">callTreeToList</a> :: [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Normalize.html#t:CallTree\" title=\"Clash.Normalize\">CallTree</a> -&gt; ([<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>], [(<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Driver-Types.html#t:Binding\" title=\"Clash.Driver.Types\">Binding</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)])","name":"callTreeToList","module":"Clash.Normalize","link":"Clash-Normalize.html#v:callTreeToList"},{"display_html":"<a href=\"#v:mkBlackBoxContext\">mkBlackBoxContext</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"mkBlackBoxContext","module":"Clash.Netlist.BlackBox","link":"Clash-Netlist-BlackBox.html#v:mkBlackBoxContext"},{"display_html":"<a href=\"#v:extractPrimWarnOrFail\">extractPrimWarnOrFail</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> <a href=\"Clash-Primitives-Types.html#t:CompiledPrimitive\" title=\"Clash.Primitives.Types\">CompiledPrimitive</a>","name":"extractPrimWarnOrFail","module":"Clash.Netlist.BlackBox","link":"Clash-Netlist-BlackBox.html#v:extractPrimWarnOrFail"},{"display_html":"<a href=\"#v:mkPrimitive\">mkPrimitive</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:DeclarationType\" title=\"Clash.Netlist.Types\">DeclarationType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; <a href=\"Clash-Core-Term.html#t:PrimInfo\" title=\"Clash.Core.Term\">PrimInfo</a> -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>] -&gt; [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"mkPrimitive","module":"Clash.Netlist.BlackBox","link":"Clash-Netlist-BlackBox.html#v:mkPrimitive"},{"display_html":"<a href=\"#v:prepareBlackBox\">prepareBlackBox</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:BlackBox\" title=\"Clash.Netlist.Types\">BlackBox</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"prepareBlackBox","module":"Clash.Netlist.BlackBox","link":"Clash-Netlist-BlackBox.html#v:prepareBlackBox"},{"display_html":"<a href=\"#v:isLiteral\">isLiteral</a> :: <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"isLiteral","module":"Clash.Netlist.BlackBox","link":"Clash-Netlist-BlackBox.html#v:isLiteral"},{"display_html":"<a href=\"#v:genNetlist\">genNetlist</a> :: <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:SomeBackend\" title=\"Clash.Netlist.Types\">SomeBackend</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a>, <a href=\"Clash-Netlist-Types.html#t:ComponentMap\" title=\"Clash.Netlist.Types\">ComponentMap</a>, <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>)","name":"genNetlist","module":"Clash.Netlist","link":"Clash-Netlist.html#v:genNetlist"},{"display_html":"<a href=\"#v:runNetlistMonad\">runNetlistMonad</a> :: <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a> -&gt; (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:SomeBackend\" title=\"Clash.Netlist.Types\">SomeBackend</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> a -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (a, <a href=\"Clash-Netlist-Types.html#t:NetlistState\" title=\"Clash.Netlist.Types\">NetlistState</a>)","name":"runNetlistMonad","module":"Clash.Netlist","link":"Clash-Netlist.html#v:runNetlistMonad"},{"display_html":"<a href=\"#v:genNames\">genNames</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>)","name":"genNames","module":"Clash.Netlist","link":"Clash-Netlist.html#v:genNames"},{"display_html":"<a href=\"#v:genTopNames\">genTopNames</a> :: <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a> -&gt; HDL -&gt; [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>] -&gt; (<a href=\"Clash-Core-VarEnv.html#t:VarEnv\" title=\"Clash.Core.VarEnv\">VarEnv</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a>)","name":"genTopNames","module":"Clash.Netlist","link":"Clash-Netlist.html#v:genTopNames"},{"display_html":"<a href=\"#v:genComponent\">genComponent</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:ComponentMeta\" title=\"Clash.Netlist.Types\">ComponentMeta</a>, <a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a>)","name":"genComponent","module":"Clash.Netlist","link":"Clash-Netlist.html#v:genComponent"},{"display_html":"<a href=\"#v:genComponentT\">genComponentT</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:ComponentMeta\" title=\"Clash.Netlist.Types\">ComponentMeta</a>, <a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a>)","name":"genComponentT","module":"Clash.Netlist","link":"Clash-Netlist.html#v:genComponentT"},{"display_html":"<a href=\"#v:mkNetDecl\">mkNetDecl</a> :: (<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]","name":"mkNetDecl","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkNetDecl"},{"display_html":"<a href=\"#v:mkDeclarations\">mkDeclarations</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]","name":"mkDeclarations","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkDeclarations"},{"display_html":"<a href=\"#v:mkDeclarations-39-\">mkDeclarations'</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:DeclarationType\" title=\"Clash.Netlist.Types\">DeclarationType</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]","name":"mkDeclarations'","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkDeclarations-39-"},{"display_html":"<a href=\"#v:mkSelection\">mkSelection</a> :: <a href=\"Clash-Netlist-Types.html#t:DeclarationType\" title=\"Clash.Netlist.Types\">DeclarationType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> <a href=\"Clash-Core-Term.html#t:Alt\" title=\"Clash.Core.Term\">Alt</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]","name":"mkSelection","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkSelection"},{"display_html":"<a href=\"#v:reorderDefault\">reorderDefault</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"reorderDefault","module":"Clash.Netlist","link":"Clash-Netlist.html#v:reorderDefault"},{"display_html":"<a href=\"#v:reorderCustom\">reorderCustom</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; CustomReprs -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> (<a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a>, <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>)","name":"reorderCustom","module":"Clash.Netlist","link":"Clash-Netlist.html#v:reorderCustom"},{"display_html":"<a href=\"#v:patPos\">patPos</a> :: CustomReprs -&gt; <a href=\"Clash-Core-Term.html#t:Pat\" title=\"Clash.Core.Term\">Pat</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"patPos","module":"Clash.Netlist","link":"Clash-Netlist.html#v:patPos"},{"display_html":"<a href=\"#v:mkFunApp\">mkFunApp</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]","name":"mkFunApp","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkFunApp"},{"display_html":"<a href=\"#v:toSimpleVar\">toSimpleVar</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"toSimpleVar","module":"Clash.Netlist","link":"Clash-Netlist.html#v:toSimpleVar"},{"display_html":"<a href=\"#v:mkExpr\">mkExpr</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:DeclarationType\" title=\"Clash.Netlist.Types\">DeclarationType</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"mkExpr","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkExpr"},{"display_html":"<a href=\"#v:mkProjection\">mkProjection</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; <a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"Clash-Core-Term.html#t:Alt\" title=\"Clash.Core.Term\">Alt</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"mkProjection","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkProjection"},{"display_html":"<a href=\"#v:mkDcApplication\">mkDcApplication</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:DeclarationType\" title=\"Clash.Netlist.Types\">DeclarationType</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistId\" title=\"Clash.Netlist.Types\">NetlistId</a> -&gt; <a href=\"Clash-Core-DataCon.html#t:DataCon\" title=\"Clash.Core.DataCon\">DataCon</a> -&gt; [<a href=\"Clash-Core-Term.html#t:Term\" title=\"Clash.Core.Term\">Term</a>] -&gt; <a href=\"Clash-Netlist-Types.html#t:NetlistMonad\" title=\"Clash.Netlist.Types\">NetlistMonad</a> (<a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a>, [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>])","name":"mkDcApplication","module":"Clash.Netlist","link":"Clash-Netlist.html#v:mkDcApplication"},{"display_html":"<a href=\"#v:checkBBF\">checkBBF</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"checkBBF","module":"Clash.Primitives.Verification","link":"Clash-Primitives-Verification.html#v:checkBBF"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PortDirection\">PortDirection</a><ul class=\"subs\"><li>= <a href=\"#v:In\">In</a></li><li>| <a href=\"#v:Out\">Out</a></li><li>| <a href=\"#v:InOut\">InOut</a></li></ul>","name":"PortDirection InOut Out In","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#t:PortDirection"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ManifestPort\">ManifestPort</a> = <a href=\"#v:ManifestPort\">ManifestPort</a> {<ul class=\"subs\"><li><a href=\"#v:mpName\">mpName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:mpTypeName\">mpTypeName</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:mpDirection\">mpDirection</a> :: <a href=\"Clash-Driver-Manifest.html#t:PortDirection\" title=\"Clash.Driver.Manifest\">PortDirection</a></li><li><a href=\"#v:mpWidth\">mpWidth</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:mpIsClock\">mpIsClock</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:mpDomain\">mpDomain</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li></ul>}","name":"ManifestPort mpDomain mpIsClock mpWidth mpDirection mpTypeName mpName ManifestPort","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#t:ManifestPort"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:FilesManifest\">FilesManifest</a> = <a href=\"#v:FilesManifest\">FilesManifest</a> [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)]","name":"FilesManifest FilesManifest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#t:FilesManifest"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Manifest\">Manifest</a> = <a href=\"#v:Manifest\">Manifest</a> {<ul class=\"subs\"><li><a href=\"#v:manifestHash\">manifestHash</a> :: <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a></li><li><a href=\"#v:successFlags\">successFlags</a> :: (<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)</li><li><a href=\"#v:ports\">ports</a> :: [<a href=\"Clash-Driver-Manifest.html#t:ManifestPort\" title=\"Clash.Driver.Manifest\">ManifestPort</a>]</li><li><a href=\"#v:componentNames\">componentNames</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li><li><a href=\"#v:topComponent\">topComponent</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a></li><li><a href=\"#v:fileNames\">fileNames</a> :: [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)]</li><li><a href=\"#v:domains\">domains</a> :: <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> VDomainConfiguration</li><li><a href=\"#v:transitiveDependencies\">transitiveDependencies</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>]</li></ul>}","name":"Manifest transitiveDependencies domains fileNames successFlags manifestHash topComponent ports componentNames Manifest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#t:Manifest"},{"display_html":"<a href=\"#v:unsafeFromHexDigest\">unsafeFromHexDigest</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>","name":"unsafeFromHexDigest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:unsafeFromHexDigest"},{"display_html":"<a href=\"#v:toHexDigest\">toHexDigest</a> :: <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"toHexDigest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:toHexDigest"},{"display_html":"<a href=\"#v:parseFiles\">parseFiles</a> :: <a href=\"/package/aeson-2.2.3.0/docs/Data-Aeson-Types.html#t:Object\" title=\"Data.Aeson.Types\">Object</a> -&gt; <a href=\"/package/aeson-2.2.3.0/docs/Data-Aeson-Types.html#t:Parser\" title=\"Data.Aeson.Types\">Parser</a> [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)]","name":"parseFiles","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:parseFiles"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:UnexpectedModification\">UnexpectedModification</a><ul class=\"subs\"><li>= <a href=\"#v:Modified\">Modified</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a></li><li>| <a href=\"#v:Added\">Added</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a></li><li>| <a href=\"#v:Removed\">Removed</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a></li></ul>","name":"UnexpectedModification Removed Added Modified","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#t:UnexpectedModification"},{"display_html":"<a href=\"#v:mkManifestPort\">mkManifestPort</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; backend -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Driver-Manifest.html#t:PortDirection\" title=\"Clash.Driver.Manifest\">PortDirection</a> -&gt; <a href=\"Clash-Driver-Manifest.html#t:ManifestPort\" title=\"Clash.Driver.Manifest\">ManifestPort</a>","name":"mkManifestPort","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:mkManifestPort"},{"display_html":"<a href=\"#v:manifestFilename\">manifestFilename</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:IsString\" title=\"Data.String\">IsString</a> a =&gt; a","name":"manifestFilename","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:manifestFilename"},{"display_html":"<a href=\"#v:mkManifest\">mkManifest</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; backend -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> VDomainConfiguration -&gt; <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a>] -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)] -&gt; <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a> -&gt; <a href=\"Clash-Driver-Manifest.html#t:Manifest\" title=\"Clash.Driver.Manifest\">Manifest</a>","name":"mkManifest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:mkManifest"},{"display_html":"<a href=\"#v:pprintUnexpectedModification\">pprintUnexpectedModification</a> :: <a href=\"Clash-Driver-Manifest.html#t:UnexpectedModification\" title=\"Clash.Driver.Manifest\">UnexpectedModification</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"pprintUnexpectedModification","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:pprintUnexpectedModification"},{"display_html":"<a href=\"#v:pprintUnexpectedModifications\">pprintUnexpectedModifications</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; [<a href=\"Clash-Driver-Manifest.html#t:UnexpectedModification\" title=\"Clash.Driver.Manifest\">UnexpectedModification</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"pprintUnexpectedModifications","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:pprintUnexpectedModifications"},{"display_html":"<a href=\"#v:readFreshManifest\">readFreshManifest</a> :: [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>] -&gt; (<a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>, <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>) -&gt; <a href=\"Clash-Primitives-Types.html#t:CompiledPrimMap\" title=\"Clash.Primitives.Types\">CompiledPrimMap</a> -&gt; <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a> -&gt; <a href=\"/package/time-1.12.2/docs/Data-Time-Clock.html#t:UTCTime\" title=\"Data.Time.Clock\">UTCTime</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"Clash-Driver-Manifest.html#t:UnexpectedModification\" title=\"Clash.Driver.Manifest\">UnexpectedModification</a>], <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"Clash-Driver-Manifest.html#t:Manifest\" title=\"Clash.Driver.Manifest\">Manifest</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)","name":"readFreshManifest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:readFreshManifest"},{"display_html":"<a href=\"#v:isUserModified\">isUserModified</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"Clash-Driver-Manifest.html#t:FilesManifest\" title=\"Clash.Driver.Manifest\">FilesManifest</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> [<a href=\"Clash-Driver-Manifest.html#t:UnexpectedModification\" title=\"Clash.Driver.Manifest\">UnexpectedModification</a>]","name":"isUserModified","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:isUserModified"},{"display_html":"<a href=\"#v:readManifest\">readManifest</a> :: <a href=\"/package/aeson-2.2.3.0/docs/Data-Aeson-Types.html#t:FromJSON\" title=\"Data.Aeson.Types\">FromJSON</a> a =&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> a)","name":"readManifest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:readManifest"},{"display_html":"<a href=\"#v:writeManifest\">writeManifest</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"Clash-Driver-Manifest.html#t:Manifest\" title=\"Clash.Driver.Manifest\">Manifest</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> ()","name":"writeManifest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:writeManifest"},{"display_html":"<a href=\"#v:serializeManifest\">serializeManifest</a> :: <a href=\"Clash-Driver-Manifest.html#t:Manifest\" title=\"Clash.Driver.Manifest\">Manifest</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>","name":"serializeManifest","module":"Clash.Driver.Manifest","link":"Clash-Driver-Manifest.html#v:serializeManifest"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:VerilogState\">VerilogState</a>","name":"VerilogState","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#t:VerilogState"},{"display_html":"<a href=\"#v:include\">include</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; [<a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> m <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"include","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:include"},{"display_html":"<a href=\"#v:uselibs\">uselibs</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m =&gt; [<a href=\"/package/text-2.0.2/docs/Data-Text-Lazy.html#t:Text\" title=\"Data.Text.Lazy\">Text</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> m <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"uselibs","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:uselibs"},{"display_html":"<a href=\"#v:encodingNote\">encodingNote</a> :: <a href=\"/package/base-4.18.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m =&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; m <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"encodingNote","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:encodingNote"},{"display_html":"<a href=\"#v:exprLit\">exprLit</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s =&gt; <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)) -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:Literal\" title=\"Clash.Netlist.Types\">Literal</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"exprLit","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:exprLit"},{"display_html":"<a href=\"#v:bits\">bits</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)) -&gt; [<a href=\"Clash-Netlist-Types.html#t:Bit\" title=\"Clash.Netlist.Types\">Bit</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"bits","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:bits"},{"display_html":"<a href=\"#v:bit_char\">bit_char</a> :: <a href=\"/package/lens-5.3.5/docs/Control-Lens-Type.html#t:Lens-39-\" title=\"Control.Lens.Type\">Lens'</a> s (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)) -&gt; <a href=\"Clash-Netlist-Types.html#t:Bit\" title=\"Clash.Netlist.Types\">Bit</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Monoid.html#t:Ap\" title=\"Data.Monoid\">Ap</a> (<a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s) <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"bit_char","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:bit_char"},{"display_html":"<a href=\"#v:noEmptyInit\">noEmptyInit</a> :: (<a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Semigroup\" title=\"Prelude\">Semigroup</a> (m <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>)) =&gt; m <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a> -&gt; m <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"noEmptyInit","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:noEmptyInit"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Range\">Range</a><ul class=\"subs\"><li>= <a href=\"#v:Contiguous\">Contiguous</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li>| <a href=\"#v:Split\">Split</a> [(<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, Provenance)]</li></ul>","name":"Range Split Contiguous","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#t:Range"},{"display_html":"<a href=\"#v:continueWithRange\">continueWithRange</a> :: [(<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>)] -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Backend-Verilog.html#t:Range\" title=\"Clash.Backend.Verilog\">Range</a> -&gt; (<a href=\"Clash-Backend-Verilog.html#t:Range\" title=\"Clash.Backend.Verilog\">Range</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)","name":"continueWithRange","module":"Clash.Backend.Verilog","link":"Clash-Backend-Verilog.html#v:continueWithRange"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:VHDLState\">VHDLState</a>","name":"VHDLState","module":"Clash.Backend.VHDL","link":"Clash-Backend-VHDL.html#t:VHDLState"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:BlackBoxHaskellOpts\">BlackBoxHaskellOpts</a> = <a href=\"#v:BlackBoxHaskellOpts\">BlackBoxHaskellOpts</a> {<ul class=\"subs\"><li><a href=\"#v:bo_ignoredArguments\">bo_ignoredArguments</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]</li><li><a href=\"#v:bo_supportedHdls\">bo_supportedHdls</a> :: [HDL]</li><li><a href=\"#v:bo_multiResult\">bo_multiResult</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li></ul>}","name":"BlackBoxHaskellOpts BlackBoxHaskellOpts bo_ignoredArguments bo_supportedHdls bo_multiResult","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#t:BlackBoxHaskellOpts"},{"display_html":"<a href=\"#v:blackBoxHaskell\">blackBoxHaskell</a> :: <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name\" title=\"Language.Haskell.TH.Syntax\">Name</a> -&gt; <a href=\"/package/template-haskell-2.20.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name\" title=\"Language.Haskell.TH.Syntax\">Name</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:BlackBoxHaskellOpts\" title=\"Clash.Primitives.DSL\">BlackBoxHaskellOpts</a> -&gt; Primitive","name":"blackBoxHaskell","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:blackBoxHaskell"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:BlockState\">BlockState</a> backend = <a href=\"#v:BlockState\">BlockState</a> {<ul class=\"subs\"><li><a href=\"#v:_bsDeclarations\">_bsDeclarations</a> :: [<a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a>]</li><li><a href=\"#v:_bsHigherOrderCalls\">_bsHigherOrderCalls</a> :: <a href=\"/package/containers-0.6.7/docs/Data-IntMap-Strict-Internal.html#t:IntMap\" title=\"Data.IntMap.Strict.Internal\">IntMap</a> <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:_bsBackend\">_bsBackend</a> :: backend</li></ul>}","name":"BlockState BlockState _bsDeclarations _bsHigherOrderCalls _bsBackend","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#t:BlockState"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TExpr\">TExpr</a> = <a href=\"#v:TExpr\">TExpr</a> {<ul class=\"subs\"><li><a href=\"#v:ety\">ety</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a></li><li><a href=\"#v:eex\">eex</a> :: <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a></li></ul>}","name":"TExpr TExpr ety eex","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#t:TExpr"},{"display_html":"<a href=\"#v:addDeclaration\">addDeclaration</a> :: <a href=\"Clash-Netlist-Types.html#t:Declaration\" title=\"Clash.Netlist.Types\">Declaration</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) ()","name":"addDeclaration","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:addDeclaration"},{"display_html":"<a href=\"#v:assign\">assign</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"assign","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:assign"},{"display_html":"<a href=\"#v:compInBlock\">compInBlock</a> :: <span class=\"keyword\">forall</span> backend. <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)] -&gt; [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) ()","name":"compInBlock","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:compInBlock"},{"display_html":"<a href=\"#v:declaration\">declaration</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) () -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> backend <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"declaration","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:declaration"},{"display_html":"<a href=\"#v:declarationReturn\">declarationReturn</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> backend <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"declarationReturn","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:declarationReturn"},{"display_html":"<a href=\"#v:declare\">declare</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"declare","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:declare"},{"display_html":"<a href=\"#v:declareN\">declareN</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>]","name":"declareN","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:declareN"},{"display_html":"<a href=\"#v:instDecl\">instDecl</a> :: <span class=\"keyword\">forall</span> backend. <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"Clash-Netlist-Types.html#t:EntityOrComponent\" title=\"Clash.Netlist.Types\">EntityOrComponent</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>)] -&gt; [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>)] -&gt; [(<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>)] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) ()","name":"instDecl","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:instDecl"},{"display_html":"<a href=\"#v:instHO\">instHO</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>, <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>) -&gt; [(<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>, <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxTemplate\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxTemplate</a>)] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"instHO","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:instHO"},{"display_html":"<a href=\"#v:viaAnnotatedSignal\">viaAnnotatedSignal</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) ()","name":"viaAnnotatedSignal","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:viaAnnotatedSignal"},{"display_html":"<a href=\"#v:bvLit\">bvLit</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"bvLit","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:bvLit"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:LitHDL\">LitHDL</a><ul class=\"subs\"><li>= <a href=\"#v:B\">B</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li>| <a href=\"#v:S\">S</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a></li><li>| <a href=\"#v:I\">I</a> <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a></li></ul>","name":"LitHDL B S I","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#t:LitHDL"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:High\">High</a> :: <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"High","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:High"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:Low\">Low</a> :: <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"Low","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:Low"},{"display_html":"<a href=\"#v:constructProduct\">constructProduct</a> :: <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>] -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"constructProduct","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:constructProduct"},{"display_html":"<a href=\"#v:tuple\">tuple</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>] -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"tuple","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:tuple"},{"display_html":"<a href=\"#v:vec\">vec</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"vec","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:vec"},{"display_html":"<a href=\"#v:tInputs\">tInputs</a> :: <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; [(<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>, <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a>)]","name":"tInputs","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:tInputs"},{"display_html":"<a href=\"#v:tResults\">tResults</a> :: <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>]","name":"tResults","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:tResults"},{"display_html":"<a href=\"#v:getStr\">getStr</a> :: <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"getStr","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:getStr"},{"display_html":"<a href=\"#v:getBool\">getBool</a> :: <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"getBool","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:getBool"},{"display_html":"<a href=\"#v:getVec\">getVec</a> :: <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>]","name":"getVec","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:getVec"},{"display_html":"<a href=\"#v:exprToInteger\">exprToInteger</a> :: <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a>","name":"exprToInteger","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:exprToInteger"},{"display_html":"<a href=\"#v:tExprToInteger\">tExprToInteger</a> :: <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a>","name":"tExprToInteger","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:tExprToInteger"},{"display_html":"<a href=\"#v:deconstructProduct\">deconstructProduct</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>]","name":"deconstructProduct","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:deconstructProduct"},{"display_html":"<a href=\"#v:untuple\">untuple</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>]","name":"untuple","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:untuple"},{"display_html":"<a href=\"#v:unvec\">unvec</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>]","name":"unvec","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:unvec"},{"display_html":"<a href=\"#v:deconstructMaybe\">deconstructMaybe</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; (<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>, <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) (<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>, <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>)","name":"deconstructMaybe","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:deconstructMaybe"},{"display_html":"<a href=\"#v:bitCoerce\">bitCoerce</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"bitCoerce","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:bitCoerce"},{"display_html":"<a href=\"#v:toBV\">toBV</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"toBV","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:toBV"},{"display_html":"<a href=\"#v:toBvWithAttrs\">toBvWithAttrs</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; [Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"toBvWithAttrs","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:toBvWithAttrs"},{"display_html":"<a href=\"#v:fromBV\">fromBV</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"fromBV","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:fromBV"},{"display_html":"<a href=\"#v:enableToBit\">enableToBit</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"enableToBit","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:enableToBit"},{"display_html":"<a href=\"#v:boolToBit\">boolToBit</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"boolToBit","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:boolToBit"},{"display_html":"<a href=\"#v:boolFromBit\">boolFromBit</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"boolFromBit","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:boolFromBit"},{"display_html":"<a href=\"#v:boolFromBitVector\">boolFromBitVector</a> :: <a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> <a href=\"Clash-Backend-VHDL.html#t:VHDLState\" title=\"Clash.Backend.VHDL\">VHDLState</a>) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"boolFromBitVector","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:boolFromBitVector"},{"display_html":"<a href=\"#v:unsignedFromBitVector\">unsignedFromBitVector</a> :: (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend) =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"unsignedFromBitVector","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:unsignedFromBitVector"},{"display_html":"<a href=\"#v:boolFromBits\">boolFromBits</a> :: [<a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>] -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> <a href=\"Clash-Backend-VHDL.html#t:VHDLState\" title=\"Clash.Backend.VHDL\">VHDLState</a>) [<a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>]","name":"boolFromBits","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:boolFromBits"},{"display_html":"<a href=\"#v:unsafeToActiveHigh\">unsafeToActiveHigh</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"unsafeToActiveHigh","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:unsafeToActiveHigh"},{"display_html":"<a href=\"#v:unsafeToActiveLow\">unsafeToActiveLow</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"unsafeToActiveLow","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:unsafeToActiveLow"},{"display_html":"<a href=\"#v:andExpr\">andExpr</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"andExpr","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:andExpr"},{"display_html":"<a href=\"#v:notExpr\">notExpr</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"notExpr","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:notExpr"},{"display_html":"<a href=\"#v:pureToBV\">pureToBV</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> <a href=\"Clash-Backend-VHDL.html#t:VHDLState\" title=\"Clash.Backend.VHDL\">VHDLState</a>) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"pureToBV","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:pureToBV"},{"display_html":"<a href=\"#v:pureToBVResized\">pureToBVResized</a> :: <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> <a href=\"Clash-Backend-VHDL.html#t:VHDLState\" title=\"Clash.Backend.VHDL\">VHDLState</a>) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"pureToBVResized","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:pureToBVResized"},{"display_html":"<a href=\"#v:open\">open</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"open","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:open"},{"display_html":"<a href=\"#v:clog2\">clog2</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Num\" title=\"Prelude\">Num</a> i =&gt; <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Integer\" title=\"Prelude\">Integer</a> -&gt; i","name":"clog2","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:clog2"},{"display_html":"<a href=\"#v:litTExpr\">litTExpr</a> :: <a href=\"Clash-Primitives-DSL.html#t:LitHDL\" title=\"Clash.Primitives.DSL\">LitHDL</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"litTExpr","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:litTExpr"},{"display_html":"<a href=\"#v:toIdentifier\">toIdentifier</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> (<a href=\"Clash-Primitives-DSL.html#t:BlockState\" title=\"Clash.Primitives.DSL\">BlockState</a> backend) <a href=\"Clash-Primitives-DSL.html#t:TExpr\" title=\"Clash.Primitives.DSL\">TExpr</a>","name":"toIdentifier","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:toIdentifier"},{"display_html":"<a href=\"#v:tySize\">tySize</a> :: <a href=\"/package/base-4.18.3.0/docs/Prelude.html#t:Num\" title=\"Prelude\">Num</a> i =&gt; <a href=\"Clash-Netlist-Types.html#t:HWType\" title=\"Clash.Netlist.Types\">HWType</a> -&gt; i","name":"tySize","module":"Clash.Primitives.DSL","link":"Clash-Primitives-DSL.html#v:tySize"},{"display_html":"<a href=\"#v:clockWizardTF\">clockWizardTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"clockWizardTF","module":"Clash.Primitives.Xilinx.ClockGen","link":"Clash-Primitives-Xilinx-ClockGen.html#v:clockWizardTF"},{"display_html":"<a href=\"#v:clockWizardTclTF\">clockWizardTclTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"clockWizardTclTF","module":"Clash.Primitives.Xilinx.ClockGen","link":"Clash-Primitives-Xilinx-ClockGen.html#v:clockWizardTclTF"},{"display_html":"<a href=\"#v:clockWizardDifferentialTF\">clockWizardDifferentialTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"clockWizardDifferentialTF","module":"Clash.Primitives.Xilinx.ClockGen","link":"Clash-Primitives-Xilinx-ClockGen.html#v:clockWizardDifferentialTF"},{"display_html":"<a href=\"#v:clockWizardDifferentialTclTF\">clockWizardDifferentialTclTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"clockWizardDifferentialTclTF","module":"Clash.Primitives.Xilinx.ClockGen","link":"Clash-Primitives-Xilinx-ClockGen.html#v:clockWizardDifferentialTclTF"},{"display_html":"<a href=\"#v:iterateBBF\">iterateBBF</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"iterateBBF","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:iterateBBF"},{"display_html":"<a href=\"#v:iterateTF\">iterateTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"iterateTF","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:iterateTF"},{"display_html":"<a href=\"#v:iterateTF-39-\">iterateTF'</a> :: <span class=\"keyword\">forall</span> s. (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s) =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"iterateTF'","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:iterateTF-39-"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:FCall\">FCall</a> = <a href=\"#v:FCall\">FCall</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>","name":"FCall FCall","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#t:FCall"},{"display_html":"<a href=\"#v:foldFunctionPlurality\">foldFunctionPlurality</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"foldFunctionPlurality","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:foldFunctionPlurality"},{"display_html":"<a href=\"#v:foldBBF\">foldBBF</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"foldBBF","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:foldBBF"},{"display_html":"<a href=\"#v:foldTF\">foldTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"foldTF","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:foldTF"},{"display_html":"<a href=\"#v:foldTF-39-\">foldTF'</a> :: <span class=\"keyword\">forall</span> s. (<a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s) =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"foldTF'","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:foldTF-39-"},{"display_html":"<a href=\"#v:indexIntVerilog\">indexIntVerilog</a> :: <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"indexIntVerilog","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:indexIntVerilog"},{"display_html":"<a href=\"#v:indexIntVerilogTF\">indexIntVerilogTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"indexIntVerilogTF","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:indexIntVerilogTF"},{"display_html":"<a href=\"#v:indexIntVerilogTemplate\">indexIntVerilogTemplate</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"indexIntVerilogTemplate","module":"Clash.Primitives.Sized.Vector","link":"Clash-Primitives-Sized-Vector.html#v:indexIntVerilogTemplate"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Variant\">Variant</a><ul class=\"subs\"><li>= <a href=\"#v:Altpll\">Altpll</a></li><li>| <a href=\"#v:AlteraPll\">AlteraPll</a></li></ul>","name":"Variant AlteraPll Altpll","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#t:Variant"},{"display_html":"<a href=\"#v:hdlUsed\">hdlUsed</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]","name":"hdlUsed","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:hdlUsed"},{"display_html":"<a href=\"#v:hdlValid\">hdlValid</a> :: <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"hdlValid","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:hdlValid"},{"display_html":"<a href=\"#v:qsysUsed\">qsysUsed</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]","name":"qsysUsed","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:qsysUsed"},{"display_html":"<a href=\"#v:altpllTF\">altpllTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"altpllTF","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:altpllTF"},{"display_html":"<a href=\"#v:altpllQsysTF\">altpllQsysTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"altpllQsysTF","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:altpllQsysTF"},{"display_html":"<a href=\"#v:alteraPllTF\">alteraPllTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"alteraPllTF","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:alteraPllTF"},{"display_html":"<a href=\"#v:alteraPllQsysTF\">alteraPllQsysTF</a> :: <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"alteraPllQsysTF","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:alteraPllQsysTF"},{"display_html":"<a href=\"#v:hdlTemplate\">hdlTemplate</a> :: <span class=\"keyword\">forall</span> s. <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s =&gt; <a href=\"Clash-Primitives-Intel-ClockGen.html#t:Variant\" title=\"Clash.Primitives.Intel.ClockGen\">Variant</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"hdlTemplate","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:hdlTemplate"},{"display_html":"<a href=\"#v:altpllQsysTemplate\">altpllQsysTemplate</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"altpllQsysTemplate","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:altpllQsysTemplate"},{"display_html":"<a href=\"#v:alteraPllQsysTemplate\">alteraPllQsysTemplate</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s =&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"alteraPllQsysTemplate","module":"Clash.Primitives.Intel.ClockGen","link":"Clash-Primitives-Intel-ClockGen.html#v:alteraPllQsysTemplate"},{"display_html":"<a href=\"#v:splitTopAnn\">splitTopAnn</a> :: <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Util.html#t:SrcSpan\" title=\"Clash.Util\">SrcSpan</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; TopEntity -&gt; TopEntity","name":"splitTopAnn","module":"Clash.Driver","link":"Clash-Driver.html#v:splitTopAnn"},{"display_html":"<a href=\"#v:splitTopEntityT\">splitTopEntityT</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>","name":"splitTopEntityT","module":"Clash.Driver","link":"Clash-Driver.html#v:splitTopEntityT"},{"display_html":"<a href=\"#v:removeForAll\">removeForAll</a> :: <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>","name":"removeForAll","module":"Clash.Driver","link":"Clash-Driver.html#v:removeForAll"},{"display_html":"<a href=\"#v:selectTopEntities\">selectTopEntities</a> :: [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>, [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>]) -&gt; [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>]","name":"selectTopEntities","module":"Clash.Driver","link":"Clash-Driver.html#v:selectTopEntities"},{"display_html":"<a href=\"#v:getClashModificationDate\">getClashModificationDate</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"/package/time-1.12.2/docs/Data-Time-Clock.html#t:UTCTime\" title=\"Data.Time.Clock\">UTCTime</a>","name":"getClashModificationDate","module":"Clash.Driver","link":"Clash-Driver.html#v:getClashModificationDate"},{"display_html":"<a href=\"#v:hdlFromBackend\">hdlFromBackend</a> :: <span class=\"keyword\">forall</span> backend. <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Proxy.html#t:Proxy\" title=\"Data.Proxy\">Proxy</a> backend -&gt; HDL","name":"hdlFromBackend","module":"Clash.Driver","link":"Clash-Driver.html#v:hdlFromBackend"},{"display_html":"<a href=\"#v:replaceChar\">replaceChar</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"replaceChar","module":"Clash.Driver","link":"Clash-Driver.html#v:replaceChar"},{"display_html":"<a href=\"#v:removeHistoryFile\">removeHistoryFile</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> ()","name":"removeHistoryFile","module":"Clash.Driver","link":"Clash-Driver.html#v:removeHistoryFile"},{"display_html":"<a href=\"#v:prefixModuleName\">prefixModuleName</a> :: HDL -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> TopEntity -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; (<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>)","name":"prefixModuleName","module":"Clash.Driver","link":"Clash-Driver.html#v:prefixModuleName"},{"display_html":"<a href=\"#v:generateHDL\">generateHDL</a> :: <span class=\"keyword\">forall</span> backend. <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a> -&gt; <a href=\"Clash-Driver-Types.html#t:ClashDesign\" title=\"Clash.Driver.Types\">ClashDesign</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> backend -&gt; (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; <a href=\"Clash-Core-PartialEval.html#t:Evaluator\" title=\"Clash.Core.PartialEval\">Evaluator</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Evaluator\" title=\"Clash.Core.Evaluator.Types\">Evaluator</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>, [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>]) -&gt; <a href=\"/package/time-1.12.2/docs/Data-Time-Clock.html#t:UTCTime\" title=\"Data.Time.Clock\">UTCTime</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> ()","name":"generateHDL","module":"Clash.Driver","link":"Clash-Driver.html#v:generateHDL"},{"display_html":"<a href=\"#v:loadImportAndInterpret\">loadImportAndInterpret</a> :: (<a href=\"/package/base-4.18.3.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> m, <a href=\"/package/exceptions-0.10.7/docs/Control-Monad-Catch.html#t:MonadMask\" title=\"Control.Monad.Catch\">MonadMask</a> m) =&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>] -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/hint-0.9.0.8/docs/Language-Haskell-Interpreter.html#t:ModuleName\" title=\"Language.Haskell.Interpreter\">ModuleName</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; m (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> (<a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> <a href=\"/package/hint-0.9.0.8/docs/Language-Haskell-Interpreter.html#t:InterpreterError\" title=\"Language.Haskell.Interpreter\">InterpreterError</a>) a)","name":"loadImportAndInterpret","module":"Clash.Driver","link":"Clash-Driver.html#v:loadImportAndInterpret"},{"display_html":"<a href=\"#v:knownBlackBoxFunctions\">knownBlackBoxFunctions</a> :: <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"knownBlackBoxFunctions","module":"Clash.Driver","link":"Clash-Driver.html#v:knownBlackBoxFunctions"},{"display_html":"<a href=\"#v:knownTemplateFunctions\">knownTemplateFunctions</a> :: <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"knownTemplateFunctions","module":"Clash.Driver","link":"Clash-Driver.html#v:knownTemplateFunctions"},{"display_html":"<a href=\"#v:compilePrimitive\">compilePrimitive</a> :: [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>] -&gt; [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"Clash-Primitives-Types.html#t:ResolvedPrimitive\" title=\"Clash.Primitives.Types\">ResolvedPrimitive</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"Clash-Primitives-Types.html#t:CompiledPrimitive\" title=\"Clash.Primitives.Types\">CompiledPrimitive</a>","name":"compilePrimitive","module":"Clash.Driver","link":"Clash-Driver.html#v:compilePrimitive"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:HintError\">HintError</a> = <a href=\"#v:HintError\">HintError</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>","name":"HintError HintError","module":"Clash.Driver","link":"Clash-Driver.html#t:HintError"},{"display_html":"<a href=\"#v:processHintErrors\">processHintErrors</a> :: (<a href=\"/package/conduit-1.3.6.1/docs/Conduit.html#t:MonadThrow\" title=\"Conduit\">MonadThrow</a> m, <a href=\"/package/base-4.18.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m) =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> -&gt; <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> (<a href=\"/package/base-4.18.3.0/docs/Data-List-NonEmpty.html#t:NonEmpty\" title=\"Data.List.NonEmpty\">NonEmpty</a> <a href=\"/package/hint-0.9.0.8/docs/Language-Haskell-Interpreter.html#t:InterpreterError\" title=\"Language.Haskell.Interpreter\">InterpreterError</a>) t -&gt; m t","name":"processHintErrors","module":"Clash.Driver","link":"Clash-Driver.html#v:processHintErrors"},{"display_html":"<a href=\"#v:createHDL\">createHDL</a> :: <a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> backend =&gt; backend -&gt; <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierText\" title=\"Clash.Netlist.Types\">IdentifierText</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierSet\" title=\"Clash.Netlist.Types\">IdentifierSet</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:ComponentMap\" title=\"Clash.Netlist.Types\">ComponentMap</a> -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a> VDomainConfiguration -&gt; <a href=\"Clash-Netlist-Types.html#t:Component\" title=\"Clash.Netlist.Types\">Component</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:IdentifierText\" title=\"Clash.Netlist.Types\">IdentifierText</a> -&gt; ([(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>)], [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>)], [(<a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>, <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>)])","name":"createHDL","module":"Clash.Driver","link":"Clash-Driver.html#v:createHDL"},{"display_html":"<a href=\"#v:writeVerilatorShim\">writeVerilatorShim</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)]","name":"writeVerilatorShim","module":"Clash.Driver","link":"Clash-Driver.html#v:writeVerilatorShim"},{"display_html":"<a href=\"#v:pprVerilatorShim\">pprVerilatorShim</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"pprVerilatorShim","module":"Clash.Driver","link":"Clash-Driver.html#v:pprVerilatorShim"},{"display_html":"<a href=\"#v:writeEdam\">writeEdam</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>) -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> [<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>] -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> [<a href=\"Clash-Edalize-Edam.html#t:EdamFile\" title=\"Clash.Edalize.Edam\">EdamFile</a>] -&gt; [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> [<a href=\"Clash-Edalize-Edam.html#t:EdamFile\" title=\"Clash.Edalize.Edam\">EdamFile</a>], [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>)])","name":"writeEdam","module":"Clash.Driver","link":"Clash-Driver.html#v:writeEdam"},{"display_html":"<a href=\"#v:createEDAM\">createEDAM</a> :: (<a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a>, <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>) -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> [<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>] -&gt; <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> [<a href=\"Clash-Edalize-Edam.html#t:EdamFile\" title=\"Clash.Edalize.Edam\">EdamFile</a>] -&gt; [<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>] -&gt; (<a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> [<a href=\"Clash-Edalize-Edam.html#t:EdamFile\" title=\"Clash.Edalize.Edam\">EdamFile</a>], <a href=\"Clash-Edalize-Edam.html#t:Edam\" title=\"Clash.Edalize.Edam\">Edam</a>)","name":"createEDAM","module":"Clash.Driver","link":"Clash-Driver.html#v:createEDAM"},{"display_html":"<a href=\"#v:asEdamFile\">asEdamFile</a> :: <a href=\"Clash-Netlist-Types.html#t:Identifier\" title=\"Clash.Netlist.Types\">Identifier</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"Clash-Edalize-Edam.html#t:EdamFile\" title=\"Clash.Edalize.Edam\">EdamFile</a>","name":"asEdamFile","module":"Clash.Driver","link":"Clash-Driver.html#v:asEdamFile"},{"display_html":"<a href=\"#v:prepareDir\">prepareDir</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"Clash-Driver-Types.html#t:ClashOpts\" title=\"Clash.Driver.Types\">ClashOpts</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> [<a href=\"Clash-Driver-Manifest.html#t:UnexpectedModification\" title=\"Clash.Driver.Manifest\">UnexpectedModification</a>] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> ()","name":"prepareDir","module":"Clash.Driver","link":"Clash-Driver.html#v:prepareDir"},{"display_html":"<a href=\"#v:writeAndHash\">writeAndHash</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString-Lazy.html#t:ByteString\" title=\"Data.ByteString.Lazy\">ByteString</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>","name":"writeAndHash","module":"Clash.Driver","link":"Clash-Driver.html#v:writeAndHash"},{"display_html":"<a href=\"#v:writeHDL\">writeHDL</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; (<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>) -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>","name":"writeHDL","module":"Clash.Driver","link":"Clash-Driver.html#v:writeHDL"},{"display_html":"<a href=\"#v:writeMemoryDataFiles\">writeMemoryDataFiles</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a>)] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> [<a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>]","name":"writeMemoryDataFiles","module":"Clash.Driver","link":"Clash-Driver.html#v:writeMemoryDataFiles"},{"display_html":"<a href=\"#v:copyDataFiles\">copyDataFiles</a> :: <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a> -&gt; [(<a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>, <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>)] -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> [<a href=\"/package/bytestring-0.11.5.4/docs/Data-ByteString.html#t:ByteString\" title=\"Data.ByteString\">ByteString</a>]","name":"copyDataFiles","module":"Clash.Driver","link":"Clash-Driver.html#v:copyDataFiles"},{"display_html":"<a href=\"#v:normalizeEntity\">normalizeEntity</a> :: <a href=\"Clash-Driver-Types.html#t:ClashEnv\" title=\"Clash.Driver.Types\">ClashEnv</a> -&gt; <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; (CustomReprs -&gt; <a href=\"Clash-Core-TyCon.html#t:TyConMap\" title=\"Clash.Core.TyCon\">TyConMap</a> -&gt; <a href=\"Clash-Core-Type.html#t:Type\" title=\"Clash.Core.Type\">Type</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Strict.html#t:State\" title=\"Control.Monad.State.Strict\">State</a> <a href=\"Clash-Netlist-Types.html#t:HWMap\" title=\"Clash.Netlist.Types\">HWMap</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"/package/base-4.18.3.0/docs/Data-String.html#t:String\" title=\"Data.String\">String</a> <a href=\"Clash-Netlist-Types.html#t:FilteredHWType\" title=\"Clash.Netlist.Types\">FilteredHWType</a>))) -&gt; <a href=\"Clash-Core-PartialEval.html#t:Evaluator\" title=\"Clash.Core.PartialEval\">Evaluator</a> -&gt; <a href=\"Clash-Core-Evaluator-Types.html#t:Evaluator\" title=\"Clash.Core.Evaluator.Types\">Evaluator</a> -&gt; [<a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a>] -&gt; <a href=\"Clash-Util-Supply.html#t:Supply\" title=\"Clash.Util.Supply\">Supply</a> -&gt; <a href=\"Clash-Core-Var.html#t:Id\" title=\"Clash.Core.Var\">Id</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a>","name":"normalizeEntity","module":"Clash.Driver","link":"Clash-Driver.html#v:normalizeEntity"},{"display_html":"<a href=\"#v:sortTop\">sortTop</a> :: <a href=\"Clash-Driver-Types.html#t:BindingMap\" title=\"Clash.Driver.Types\">BindingMap</a> -&gt; [<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>] -&gt; ([<a href=\"Clash-Netlist-Types.html#t:TopEntityT\" title=\"Clash.Netlist.Types\">TopEntityT</a>], <a href=\"/package/unordered-containers-0.2.20.1/docs/Data-HashMap-Strict.html#t:HashMap\" title=\"Data.HashMap.Strict\">HashMap</a> <a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a> [<a href=\"Clash-Unique.html#t:Unique\" title=\"Clash.Unique\">Unique</a>])","name":"sortTop","module":"Clash.Driver","link":"Clash-Driver.html#v:sortTop"},{"display_html":"<a href=\"#v:usedArguments\">usedArguments</a> :: [<a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>]","name":"usedArguments","module":"Clash.Primitives.Annotations.SynthesisAttributes","link":"Clash-Primitives-Annotations-SynthesisAttributes.html#v:usedArguments"},{"display_html":"<a href=\"#v:annotateBBF\">annotateBBF</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-BlackBox-Types.html#t:BlackBoxFunction\" title=\"Clash.Netlist.BlackBox.Types\">BlackBoxFunction</a>","name":"annotateBBF","module":"Clash.Primitives.Annotations.SynthesisAttributes","link":"Clash-Primitives-Annotations-SynthesisAttributes.html#v:annotateBBF"},{"display_html":"<a href=\"#v:annotateTF\">annotateTF</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"/package/base-4.18.3.0/docs/GHC-TypeNats.html#t:KnownNat\" title=\"GHC.TypeNats\">KnownNat</a> n =&gt; Vec n (Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:TemplateFunction\" title=\"Clash.Netlist.Types\">TemplateFunction</a>","name":"annotateTF","module":"Clash.Primitives.Annotations.SynthesisAttributes","link":"Clash-Primitives-Annotations-SynthesisAttributes.html#v:annotateTF"},{"display_html":"<a href=\"#v:annotateBBTF\">annotateBBTF</a> :: (<a href=\"Clash-Backend.html#t:Backend\" title=\"Clash.Backend\">Backend</a> s, <a href=\"/package/base-4.18.3.0/docs/GHC-TypeNats.html#t:KnownNat\" title=\"GHC.TypeNats\">KnownNat</a> n, <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>) =&gt; Vec n (Attr <a href=\"/package/text-2.0.2/docs/Data-Text.html#t:Text\" title=\"Data.Text\">Text</a>) -&gt; <a href=\"Clash-Netlist-Types.html#t:BlackBoxContext\" title=\"Clash.Netlist.Types\">BlackBoxContext</a> -&gt; <a href=\"/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State\" title=\"Control.Monad.State.Lazy\">State</a> s <a href=\"Data-Text-Prettyprint-Doc-Extra.html#t:Doc\" title=\"Data.Text.Prettyprint.Doc.Extra\">Doc</a>","name":"annotateBBTF","module":"Clash.Primitives.Annotations.SynthesisAttributes","link":"Clash-Primitives-Annotations-SynthesisAttributes.html#v:annotateBBTF"},{"display_html":"<a href=\"#v:bits\">bits</a> :: <a href=\"/package/base-4.18.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a> =&gt; <a href=\"Clash-Netlist-Types.html#t:Size\" title=\"Clash.Netlist.Types\">Size</a> -&gt; <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> -&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Either.html#t:Either\" title=\"Data.Either\">Either</a> <a href=\"Clash-Netlist-Types.html#t:Expr\" title=\"Clash.Netlist.Types\">Expr</a> (<a href=\"/package/containers-0.6.7/docs/Data-Tree.html#t:Tree\" title=\"Data.Tree\">Tree</a> [<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>])","name":"bits","module":"Clash.Netlist.Expr","link":"Clash-Netlist-Expr.html#v:bits"},{"display_html":"<a href=\"#v:toBits\">toBits</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bits.html#t:Bits\" title=\"Data.Bits\">Bits</a> a =&gt; <a href=\"/package/base-4.18.3.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; a -&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>]","name":"toBits","module":"Clash.Netlist.Expr","link":"Clash-Netlist-Expr.html#v:toBits"},{"display_html":"<a href=\"#v:fromBits\">fromBits</a> :: <a href=\"/package/base-4.18.3.0/docs/Data-Bits.html#t:Bits\" title=\"Data.Bits\">Bits</a> a =&gt; [<a href=\"/package/base-4.18.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>] -&gt; a","name":"fromBits","module":"Clash.Netlist.Expr","link":"Clash-Netlist-Expr.html#v:fromBits"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SystemVerilogState\">SystemVerilogState</a>","name":"SystemVerilogState","module":"Clash.Backend.SystemVerilog","link":"Clash-Backend-SystemVerilog.html#t:SystemVerilogState"}]