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
命令进行播放。
我正在 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
命令进行播放。