Haskell 泛型函数中的类型构造函数

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") 函数解析成什么?

函数 var 尚未定义,似乎是用一些 元编程 生成的,我在 class Constructive 中 [=] 19=].

函数 var 看起来像一个 构造函数 。这个机制是如何运作的?

writeVhdl的输入是类似

的电路描述
halfAdd (a, b) = (sum, arry)
  where
    sum = xor2 (a, b)
    arry = and2 (a, b)

Can someone tell me what function (var "inp") in writeVhdlresolves to?

这取决于您传递给 writeVhdl 第二个参数的内容,即 circ。它的参数类型(如果我没看错的话)正是 var "foo".

返回的类型

您可以通过键入 :t some expression 来观察 ghci 中的表达式类型。尝试将您的代码加载到 GHCi 会话中并使用 :t 命令进行播放。