我正在Haskell Lava HDL系统中闲逛,并被困在 理解 http://hackage.haskell.org/package/chalmers-lava2000-1.6.1/docs/src/Lava-Vhdl.html#writeVhdl
有人可以告诉我(var "inp")
中的writeVhdl
功能是什么?
函数var
尚未定义,似乎是由http://hackage.haskell.org/package/chalmers-lava2000-1.6.1/docs/src/Lava-Generic.html#line-253中class Constructive
中我不熟悉的某些元编程生成的。 / p>
函数var
看起来像一个构造函数。这种机制如何运作?
writeVhdl
的输入是类似电路的描述
halfAdd (a, b) = (sum, arry)
where
sum = xor2 (a, b)
arry = and2 (a, b)
答案 0 :(得分:1)
有人可以告诉我writeVhdl解析为什么功能(var“ inp”)?
这取决于您传递给writeVhdl
第二个参数即circ
的内容。它的参数类型(如果我没看错的话)正是var "foo"
返回的类型。
您可以通过输入ghci
来观察:t some expression
中的表达式类型。尝试将代码加载到GHCi会话中,并使用:t
命令播放。