[英]Haskell type constructor in generic function
我在Haskell Lava HDL系统中四处搜寻,并停留在了解http://hackage.haskell.org/package/chalmers-lava2000-1.6.1/docs/src/Lava-Vhdl.html#writeVhdl
有人可以告诉我writeVhdl
函数(var "inp")
writeVhdl
(var "inp")
解析为什么吗?
函数var
尚未定义,似乎是通过一些我不熟悉的元编程生成的, class Constructive
在http://hackage.haskell.org/package/chalmers-lava2000-1.6.1/docs/src/ Lava-Generic.html#line-253 。
函数var
看起来像构造函数 。 这种机制如何运作?
writeVhdl
的输入是电路描述,例如
halfAdd (a, b) = (sum, arry)
where
sum = xor2 (a, b)
arry = and2 (a, b)
有人可以告诉我writeVhdl解析为什么功能(var“ inp”)?
这取决于您传递给writeVhdl
第二个参数(即circ
。 它的参数类型(如果我没看错的话)正是var "foo"
返回的类型。
您可以通过键入:t some expression
来观察ghci
的表达式类型。 尝试将代码加载到GHCi会话中,然后使用:t
命令播放。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.