- When looking at such a program from a hardware perspective, the
- top level lambda abstractions define the input ports. Lambda
- abstractions cannot appear anywhere else. The variable reference
- in the body of the recursive let expression is the output port.
- Most function applications bound by the let expression define a
- component instantiation, where the input and output ports are
- mapped to local signals or arguments. Some of the others use a
- built-in construction (\eg\ the \lam{case} expression) or call a
- built-in function (\eg\ \lam{+} or \lam{map}). For these, a
- hardcoded \small{VHDL} translation is available.
+ When looking at such a program from a hardware perspective, the top
+ level lambda abstractions (\italic{lambda}) define the input ports.
+ Lambda abstractions cannot appear anywhere else. The variable reference
+ in the body of the recursive let expression (\italic{toplet}) is the
+ output port. Most binders bound by the let expression define a
+ component instantiation (\italic{userapp}), where the input and output
+ ports are mapped to local signals (\italic{userarg}). Some of the others
+ use a built-in construction (\eg\ the \lam{case} expression) or call a
+ built-in function (\italic{builtinapp}) such as \lam{+} or \lam{map}.
+ For these, a hardcoded \small{VHDL} translation is available.