From: Christiaan Baaij Date: Tue, 2 Mar 2010 16:20:05 +0000 (+0100) Subject: Fix some additional spelling mistakes X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;h=eb4c92319202b796aaf0f2ae74e3637373e56104;p=matthijs%2Fmaster-project%2Fdsd-paper.git Fix some additional spelling mistakes --- diff --git a/choice-case.svg b/choice-case.svg index 75701d1..eba9d9e 100644 --- a/choice-case.svg +++ b/choice-case.svg @@ -37,62 +37,62 @@ inkscape:window-maximized="0" inkscape:snap-center="false"> + visible="true" + empspacing="5" + id="grid2818" + type="xygrid" /> + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend"> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + id="path3732" /> + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Send"> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + id="path3738" /> - + + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + id="perspective3128" /> @@ -107,51 +107,32 @@ + inkscape:groupmode="layer" + inkscape:label="Layer 1"> + x="20" + height="135.5" + width="139.5" + id="rect6192" + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" /> + d="m 368.86,585.7295 82,0" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" /> + d="m 368.86,595.7295 82,0" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" /> - - + d="m 226.91,657.82 0.01,-0.04 0.01,-0.05 0.02,-0.04 0.01,-0.04 0.02,-0.04 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.02 0.03,-0.03 0.03,-0.02 0.02,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.01 0.03,-0.01 0.03,-0.02 0.04,-0.01 0.03,-0.01 0.03,0 0.03,-0.01 0.04,-0.01 0.03,0 0.03,0 0.03,-0.01 0.04,0 c 0.36,0 0.57,0.25 0.72,0.56 0.18,0.38 0.3,0.96 0.3,0.98 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.32,-1.19 -0.66,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.23 0.07,0.51 l 0.67,2.71 c 0.04,0.14 0.04,0.16 0.04,0.21 0,0.21 -0.16,0.26 -0.27,0.26 -0.31,0 -0.38,-0.34 -0.39,-0.39 -0.19,0.43 -0.51,0.59 -0.83,0.59 v -0.22 c 0.44,0 0.69,-0.52 0.69,-0.94 0,-0.02 -0.01,-0.07 -0.03,-0.13 h 0 l -0.47,-1.88 c -0.08,-0.32 -0.7,-1.13 -1.25,-1.13 -0.46,0 -0.54,0.59 -0.54,0.89 0,0.5 0.3,1.66 0.48,2.08 0.25,0.61 0.71,1.11 1.12,1.11 v 0.22 c -1.11,0 -2.28,-1.52 -2.28,-2.97 0,-0.85 0.46,-1.55 1.2,-1.55 0.36,0 0.8,0.21 1.2,0.7 z" + id="path3817" /> + + + xml:space="preserve" + stroke-miterlimit="10.433" + font-style="normal" + font-variant="normal" + font-weight="normal" + font-stretch="normal" + font-size-adjust="none" + letter-spacing="normal" + word-spacing="normal" + ns0:text="$\\mathit{pred}$\n\n" + ns0:preamble="" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"> + style="fill:#000000;stroke-width:0" /> + style="fill:#000000;stroke-width:0" /> + style="fill:#000000;stroke-width:0" /> + style="fill:#000000;stroke-width:0" /> + id="g5140" + transform="translate(-75.428753,-10)"> + id="g4445" + transform="translate(118.2,-6.1899623)"> + sodipodi:ry="10" + sodipodi:rx="10" + sodipodi:cy="26.984081" + sodipodi:cx="40" + id="path3641" + style="fill:#ffffff;stroke:#000000" + sodipodi:type="arc" /> + ns0:text="$\\mathbf{+}$\n\n" + word-spacing="normal" + letter-spacing="normal" + font-size-adjust="none" + font-stretch="normal" + font-weight="normal" + font-variant="normal" + font-style="normal" + stroke-miterlimit="10.433" + xml:space="preserve" + transform="matrix(1,0,0,-1,191.89,1238.2695)" + id="g3067"> + style="fill:#000000;stroke-width:0" /> + id="g4438" + transform="translate(-67.228753,71.145019)"> + id="path4429" + sodipodi:cx="40" + sodipodi:cy="26.984081" + sodipodi:rx="10" + sodipodi:ry="10" + d="m 50,26.984081 c 0,5.522848 -4.477153,10 -10,10 -5.522847,0 -10,-4.477152 -10,-10 0,-5.522847 4.477153,-10 10,-10 5.522847,0 10,4.477153 10,10 z" + transform="translate(489,516.3654)" /> + ns0:text="$\\neq$\n\n\n\n\n" + word-spacing="normal" + letter-spacing="normal" + font-size-adjust="none" + font-stretch="normal" + font-weight="normal" + font-variant="normal" + font-style="normal" + stroke-miterlimit="10.433" + xml:space="preserve" + transform="matrix(1,0,0,-1,301.695,1203.0745)" + id="g3583"> + style="fill:#000000;stroke-width:0" /> + style="fill:#000000;stroke-width:0" /> + style="fill:#000000;stroke-width:0" /> + id="g4579" + transform="translate(-12.228753,57.380016)"> + id="path4581" + sodipodi:cx="40" + sodipodi:cy="26.984081" + sodipodi:rx="10" + sodipodi:ry="10" + d="m 50,26.984081 c 0,5.522848 -4.477153,10 -10,10 -5.522847,0 -10,-4.477152 -10,-10 0,-5.522847 4.477153,-10 10,-10 5.522847,0 10,4.477153 10,10 z" + transform="translate(434,506.3654)" /> + ns0:text="$\\equiv$\n\n\n\n\n" + word-spacing="normal" + letter-spacing="normal" + font-size-adjust="none" + font-stretch="normal" + font-weight="normal" + font-variant="normal" + font-style="normal" + stroke-miterlimit="10.433" + xml:space="preserve" + transform="matrix(1,0,0,-1,246.72,1192.8695)" + id="g4583"> + d="m 230.27,661.46 0.03,0 0.03,0 0.03,0 0.02,0 0.01,0 0.02,0 0.02,0 0.01,0.01 0.01,0 0.02,0 0.01,0 0.02,0.01 0.01,0 0.01,0.01 0.01,0 0.02,0.01 0.01,0.01 0.01,0 0.01,0.01 0.01,0.01 0,0.01 0.01,0.01 0,0 0,0.01 0.01,0 0,0.01 0,0.01 0.01,0 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0.01,0.01 0,0.01 0,0.01 c 0,0.19 -0.18,0.19 -0.35,0.19 h -5.95 c -0.17,0 -0.35,0 -0.35,-0.19 0,-0.2 0.2,-0.2 0.36,-0.2 z" /> + d="m 230.28,657.59 0.03,0 0.03,0 0.03,0 0.02,0 0.01,0 0.02,0.01 0.01,0 0.02,0 0.01,0 0.02,0 0.01,0.01 0.01,0 0.01,0.01 0.02,0 0.01,0.01 0.01,0 0.01,0.01 0.01,0.01 0.01,0.01 0.01,0 0.01,0.01 0,0.01 0,0.01 0.01,0 0,0.01 0,0 0,0.01 0.01,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0.01,0.01 0,0.01 0,0.01 c 0,0.2 -0.19,0.2 -0.36,0.2 h -5.93 c -0.16,0 -0.36,0 -0.36,-0.2 0,-0.2 0.18,-0.2 0.35,-0.2 z" /> + d="m 230.28,659.52 0.03,0 0.03,0 0.03,0.01 0.02,0 0.01,0 0.02,0 0.01,0 0.02,0 0.01,0 0.02,0.01 0.01,0 0.01,0 0.01,0.01 0.02,0 0.01,0.01 0.01,0.01 0.01,0 0.01,0.01 0.01,0.01 0.01,0.01 0.01,0.01 0,0 0,0.01 0.01,0 0,0.01 0,0.01 0,0 0.01,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0.01 0.01,0 0,0.01 0,0.01 c 0,0.2 -0.18,0.2 -0.35,0.2 h -5.95 c -0.17,0 -0.35,0 -0.35,-0.2 0,-0.2 0.18,-0.2 0.35,-0.2 z" /> - - - - - - - - - - - + transform="matrix(1,0,0,-1,220.755,1202.9395)" + id="g5038"> - - - - - - - - - - - + + + + + d="m 488.02,578.19451 10,-5 0,-10 -10,-5 0,20 z" + id="path5134" /> + id="path5247" /> + + transform="matrix(1.44,0,0,1.44,376.30016,547.21208)" /> + + + + + + + + + + sodipodi:nodetypes="cc" + id="path5408" + d="m 476.18,631.15956 10,0" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" /> + + + + + + + transform="matrix(1.44,0,0,-1.44,358.24516,633.982)" /> + + id="path5432" + sodipodi:nodetypes="ccc" /> + id="path5434" /> + id="path5438" + d="m 130,88.410019 5,0 0,-29 0,0 9,0" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Mend)" /> + id="path6184" + sodipodi:nodetypes="ccccc" /> + id="path6186" + sodipodi:nodetypes="cc" /> + transform="translate(-12.228753,133.38002)" + id="g2899"> + sodipodi:ry="10" + sodipodi:rx="10" + sodipodi:cy="26.984081" + sodipodi:cx="40" + id="path2901" + style="fill:#ffffff;stroke:#000000" + sodipodi:type="arc" /> + xml:space="preserve" + stroke-miterlimit="10.433" + font-style="normal" + font-variant="normal" + font-weight="normal" + font-stretch="normal" + font-size-adjust="none" + letter-spacing="normal" + word-spacing="normal" + ns0:text="$\\equiv$\n\n\n\n\n" + ns0:preamble="" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"> + style="fill:#000000;stroke-width:0" /> + style="fill:#000000;stroke-width:0" /> + style="fill:#000000;stroke-width:0" /> + d="m 368.36,660.85952 83.7,0" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)" /> + id="path2913" + sodipodi:nodetypes="cc" /> - + id="g3005"> + id="path3007" + fill="black" + stroke-width="0" + d="M230.24,659.57 L230.24,659.57 L230.24,659.58 L230.24,659.58 L230.24,659.58 L230.24,659.58 L230.24,659.58 L230.24,659.59 L230.24,659.59 L230.25,659.6 L230.25,659.6 L230.25,659.6 L230.25,659.61 L230.25,659.61 L230.25,659.62 L230.26,659.63 L230.26,659.64 L230.26,659.64 L230.26,659.65 L230.27,659.65 L230.27,659.66 L230.27,659.66 L230.27,659.66 L230.27,659.67 L230.27,659.67 L230.27,659.68 L230.27,659.68 L230.27,659.68 L230.28,659.68 L230.28,659.69 L230.28,659.69 L230.28,659.69 L230.28,659.69 L230.28,659.69 L230.28,659.69 L230.28,659.69 L230.28,659.69 L230.28,659.69 C230.28,659.8,230.16,659.8,230.13,659.8 C230.02,659.8,230.01,659.79,229.92,659.56 C229.34,658.19,228.99,657.54,227.41,657.54 H226.19 C225.88,657.54,225.88,657.57,225.88,657.64 C225.88,657.7,225.91,657.8,225.92,657.86 L226.61,660.6 H227.48 C228.15,660.6,228.23,660.44,228.23,660.17 C228.23,660.1,228.21,659.95,228.13,659.66 C228.13,659.64,228.12,659.58,228.12,659.55 C228.12,659.43,228.21,659.43,228.27,659.43 C228.38,659.43,228.41,659.45,228.45,659.63 L229,661.83 C229.01,661.85,229.03,661.93,229.03,661.96 C229.03,662.07,228.91,662.07,228.87,662.07 C228.74,662.07,228.74,662.04,228.68,661.84 C228.49,661.13,228.3,660.91,227.5,660.91 H226.69 L227.3,663.36 C227.38,663.69,227.45,663.7,227.78,663.7 H229.02 C230.1,663.7,230.35,663.4,230.35,662.69 C230.35,662.42,230.33,662.29,230.3,662.05 C230.29,662.01,230.28,661.91,230.28,661.89 C230.28,661.77,230.39,661.77,230.43,661.77 C230.57,661.77,230.58,661.8,230.6,661.98 L230.82,663.75 C230.85,664.01,230.79,664.01,230.59,664.01 H225.93 C225.76,664.01,225.66,664.01,225.66,663.83 C225.66,663.7,225.73,663.7,225.93,663.7 C226.51,663.7,226.51,663.62,226.51,663.53 C226.51,663.52,226.51,663.45,226.47,663.3 L225.14,657.96 C225.06,657.62,225,657.54,224.32,657.54 C224.16,657.54,224.05,657.54,224.05,657.35 C224.05,657.23,224.14,657.23,224.3,657.23 H229.07 C229.27,657.23,229.28,657.24,229.35,657.39 Z " /> + id="path3009" + fill="black" + stroke-width="0" + d="M235.11,661.39 L235.11,661.39 L235.11,661.39 L235.11,661.4 L235.12,661.4 L235.12,661.4 L235.12,661.41 L235.12,661.41 L235.12,661.42 L235.12,661.42 L235.12,661.43 L235.13,661.44 L235.13,661.45 L235.13,661.46 L235.13,661.47 L235.13,661.47 L235.13,661.47 L235.14,661.48 L235.14,661.48 L235.14,661.49 L235.14,661.49 L235.14,661.5 L235.14,661.5 L235.14,661.5 L235.14,661.51 L235.14,661.51 L235.14,661.51 L235.14,661.51 L235.14,661.52 C235.14,661.61,235.06,661.63,235.03,661.63 C234.92,661.63,234.56,661.28,234.4,661 C234.29,661.29,234.03,661.64,233.55,661.64 V661.42 C233.63,661.42,233.86,661.41,234.04,661.13 C234.13,660.97,234.24,660.68,234.24,660.49 C234.24,660.46,234.23,660.42,234.21,660.36 L233.73,658.45 C233.65,658.14,233.04,657.34,232.49,657.34 C232.02,657.34,231.94,657.93,231.94,658.23 C231.94,658.73,232.25,659.89,232.43,660.31 C232.68,660.92,233.14,661.42,233.55,661.42 V661.64 C232.44,661.64,231.27,660.12,231.27,658.67 C231.27,657.82,231.72,657.12,232.47,657.12 C232.88,657.12,233.25,657.38,233.53,657.65 L233.14,656.09 C233.03,655.66,233.02,655.62,232.38,655.61 C232.25,655.61,232.14,655.61,232.14,655.42 C232.14,655.33,232.2,655.3,232.27,655.3 C232.59,655.3,232.94,655.33,233.27,655.33 C233.6,655.33,233.96,655.3,234.27,655.3 C234.33,655.3,234.46,655.3,234.46,655.49 C234.46,655.61,234.36,655.61,234.23,655.61 C233.72,655.61,233.72,655.67,233.72,655.77 C233.72,655.84,233.74,655.89,233.75,655.95 Z " /> + id="path3011" + fill="black" + stroke-width="0" + d="M239.88,661.13 L239.89,661.14 L239.89,661.15 L239.89,661.16 L239.9,661.17 L239.9,661.18 L239.9,661.19 L239.9,661.2 L239.91,661.21 L239.91,661.21 L239.91,661.22 L239.91,661.22 L239.91,661.23 L239.91,661.23 L239.91,661.23 L239.91,661.24 L239.91,661.24 L239.91,661.24 L239.91,661.25 L239.91,661.25 L239.91,661.25 L239.91,661.26 L239.91,661.26 L239.91,661.26 L239.91,661.27 C239.91,661.38,239.83,661.53,239.63,661.53 C239.34,661.53,239.27,661.24,239.25,661.16 L238.52,658.25 C238.47,658.07,238.47,658.05,238.38,657.92 C238.19,657.64,237.9,657.34,237.46,657.34 C237.01,657.34,236.92,657.78,236.92,658.11 C236.92,658.72,237.25,659.61,237.5,660.29 C237.58,660.5,237.63,660.64,237.63,660.83 C237.63,661.33,237.3,661.64,236.88,661.64 C235.95,661.64,235.6,660.16,235.6,660.1 C235.6,660,235.7,660,235.75,660 C235.88,660,235.89,660.02,235.93,660.16 C236.01,660.47,236.28,661.42,236.85,661.42 C236.96,661.42,237.07,661.39,237.07,661.13 C237.07,660.89,236.97,660.62,236.84,660.23 C236.58,659.53,236.32,658.8,236.32,658.28 C236.32,657.41,236.9,657.12,237.43,657.12 C237.96,657.12,238.3,657.42,238.54,657.72 C238.72,657.18,239.15,657.12,239.34,657.12 C239.7,657.12,239.91,657.37,240.06,657.68 C240.24,658.06,240.36,658.64,240.36,658.66 C240.36,658.76,240.28,658.76,240.21,658.76 C240.09,658.76,240.08,658.75,240.02,658.53 C239.88,657.97,239.69,657.34,239.35,657.34 C239.1,657.34,239.1,657.61,239.1,657.75 C239.1,657.82,239.1,657.98,239.17,658.26 Z " /> + id="path3013" + fill="black" + stroke-width="0" + d="M243.6,657.82 L243.61,657.78 L243.62,657.73 L243.63,657.69 L243.65,657.65 L243.67,657.61 L243.68,657.57 L243.7,657.54 L243.72,657.51 L243.74,657.47 L243.77,657.44 L243.79,657.41 L243.81,657.38 L243.84,657.36 L243.87,657.33 L243.89,657.31 L243.92,657.29 L243.95,657.27 L243.98,657.25 L244.01,657.23 L244.04,657.21 L244.07,657.2 L244.1,657.19 L244.13,657.17 L244.16,657.16 L244.2,657.15 L244.23,657.15 L244.26,657.14 L244.29,657.13 L244.33,657.13 L244.36,657.13 L244.39,657.12 L244.42,657.12 C244.79,657.12,245,657.37,245.15,657.68 C245.33,658.06,245.45,658.64,245.45,658.66 C245.45,658.76,245.37,658.76,245.3,658.76 C245.18,658.76,245.17,658.75,245.11,658.53 C244.97,657.97,244.78,657.34,244.44,657.34 C244.18,657.34,244.18,657.61,244.18,657.75 C244.18,657.82,244.18,657.98,244.26,658.26 L244.93,660.97 C244.97,661.11,244.97,661.13,244.97,661.18 C244.97,661.39,244.8,661.44,244.7,661.44 C244.38,661.44,244.31,661.1,244.3,661.05 C244.12,661.48,243.8,661.64,243.48,661.64 V661.42 C243.92,661.42,244.16,660.9,244.16,660.48 C244.16,660.46,244.15,660.41,244.13,660.35 H244.13 L243.67,658.47 C243.59,658.15,242.97,657.34,242.42,657.34 C241.95,657.34,241.87,657.93,241.87,658.23 C241.87,658.73,242.18,659.89,242.36,660.31 C242.61,660.92,243.07,661.42,243.48,661.42 V661.64 C242.37,661.64,241.2,660.12,241.2,658.67 C241.2,657.82,241.65,657.12,242.4,657.12 C242.76,657.12,243.2,657.33,243.6,657.82 Z " /> + id="path3015" + fill="black" + stroke-width="0" + d="M248.23,663.9 L248.23,663.9 L248.23,663.9 L248.23,663.91 L248.24,663.91 L248.24,663.91 L248.24,663.92 L248.24,663.92 L248.24,663.93 L248.24,663.93 L248.24,663.94 L248.24,663.95 L248.25,663.96 L248.25,663.97 L248.25,663.98 L248.25,663.98 L248.25,663.98 L248.26,663.99 L248.26,663.99 L248.26,664 L248.26,664 L248.26,664.01 L248.26,664.01 L248.26,664.01 L248.26,664.02 L248.26,664.02 L248.26,664.02 L248.26,664.02 L248.26,664.03 C248.26,664.12,248.2,664.15,248.12,664.15 C248.09,664.15,247.99,664.14,247.96,664.13 L246.98,664.05 C246.86,664.04,246.75,664.03,246.75,663.84 C246.75,663.73,246.85,663.73,246.99,663.73 C247.46,663.73,247.48,663.66,247.48,663.56 C247.48,663.53,247.45,663.4,247.45,663.39 L246.21,658.41 C246.2,658.37,246.15,658.17,246.15,658.02 C246.15,657.49,246.51,657.12,246.99,657.12 C247.36,657.12,247.56,657.39,247.69,657.64 C247.86,657.99,248,658.63,248,658.66 C248,658.76,247.92,658.76,247.85,658.76 C247.8,658.76,247.74,658.76,247.71,658.71 L247.64,658.46 C247.47,657.76,247.29,657.34,247.01,657.34 C246.75,657.34,246.75,657.61,246.75,657.75 C246.75,657.82,246.75,657.97,246.81,658.21 Z " /> diff --git "a/c\316\273ash.lhs" "b/c\316\273ash.lhs" index 3ac0a7c..d2820a4 100644 --- "a/c\316\273ash.lhs" +++ "b/c\316\273ash.lhs" @@ -548,9 +548,9 @@ the Haskell code to equivalently behaving synthesizable \VHDL\ code, ready to be converted to an actual netlist format by an (optimizing) \VHDL\ synthesis tool. -Besides trivial circuits such as variants of both the FIR filter and the -simple CPU shown in \Cref{sec:usecases}, the \CLaSH\ compiler has also been -shown to work for non-trivial descriptions. \CLaSH\ has been able to +Besides trivial circuits such as variants of both the \acro{FIR} filter and +the simple \acro{CPU} shown in \Cref{sec:usecases}, the \CLaSH\ compiler has +also been shown to work for non-trivial descriptions. \CLaSH\ has been able to successfully translate the functional description of a streaming reduction circuit~\cite{reductioncircuit} for floating point numbers. @@ -702,9 +702,9 @@ circuit~\cite{reductioncircuit} for floating point numbers. compiler. The \CLaSH\ compiler has generic translation rules to translated the user-defined types described below. - The \CLaSH compiler is able to infer unspecified types, + The \CLaSH\ compiler is able to infer unspecified types, meaning that a developer does not have to annotate every function with a - type signature (though it is good practice to do so anyway). + type signature (even if it is good practice to do so). % Translation of two most basic functional concepts has been % discussed: function application and choice. Before looking further @@ -762,7 +762,7 @@ circuit~\cite{reductioncircuit} for floating point numbers. the rest of paper is: \hs{[a|n]}. Where the \hs{a} is the element type, and \hs{n} is the length of the vector. Note that this is a notation used in this paper only, vectors are slightly more - elaborate in real \CLaSH programs. + elaborate in real \CLaSH\ programs. % The state type of an 8 element register bank would then for example % be: @@ -1107,9 +1107,8 @@ end-product of the \CLaSH\ compiler a \VHDL\ \emph{netlist} as the resulting \VHDL\ resembles an actual netlist description and not idiomatic \VHDL. \section{Use cases} - -\subsection{FIR Filter} \label{sec:usecases} +\subsection{FIR Filter} As an example of a common hardware design where the use of higher-order functions leads to a very natural description is a \acro{FIR} filter, which is basically the dot-product of two vectors: @@ -1237,7 +1236,7 @@ circuits, and has a particular focus on layout. functional language \acro{ML}, and has support for polymorphic types and higher-order functions. Published work suggests that there is no direct simulation support for \acro{HML}, but that a description in \acro{HML} has to -be translated to \VHDL\ and that the translated description can than be +be translated to \VHDL\ and that the translated description can then be simulated in a \VHDL\ simulator. Also not all of the mentioned language features of \acro{HML} could be translated to hardware. The \CLaSH\ compiler on the other hand can correctly translate all of the language constructs