Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
泛型函数中的Haskell类型构造函数_Haskell_Generics_Lava - Fatal编程技术网

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

泛型函数中的Haskell类型构造函数,haskell,generics,lava,Haskell,Generics,Lava,我在Haskell熔岩HDL系统中四处挖掘,陷入了困境 理解力 有人能告诉我writeVhdl中的(var“inp”)函数解析为什么吗 函数var尚未定义,似乎是通过一些元编程生成的,我在中的类中不熟悉这些元编程 函数var看起来像一个构造函数。这个机制是如何运作的 writeVhdl的输入是一个电路描述,如 halfAdd (a, b) = (sum, arry) where sum = xor2 (a, b) arry = and2 (a, b) 有人能告诉我什么函数

我在Haskell熔岩HDL系统中四处挖掘,陷入了困境 理解力

有人能告诉我
writeVhdl
中的
(var“inp”)
函数解析为什么吗

函数
var
尚未定义,似乎是通过一些元编程生成的,我在中的
类中不熟悉这些元编程

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

writeVhdl
的输入是一个电路描述,如

halfAdd (a, b) = (sum, arry)
  where
    sum = xor2 (a, b)
    arry = and2 (a, b)
有人能告诉我什么函数(var“inp”)以书面形式解决了这个问题吗

它取决于传递给
writeVhdl
第二个参数的内容,即
circ
。它的参数类型(如果我读得正确的话)正是
var“foo”
返回的类型

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

有人能告诉我什么函数(var“inp”)以书面形式解决了这个问题吗

它取决于传递给
writeVhdl
第二个参数的内容,即
circ
。它的参数类型(如果我读得正确的话)正是
var“foo”
返回的类型


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

:t halfAdd
生成
halfAdd::(信号布尔,信号布尔)->(信号布尔,信号布尔)
。我在#haskell irc上也问了这个问题,从中获得了一些见解。用户dmjio将其提取成一个要点:
:t halfAdd
产生
halfAdd::(信号布尔,信号布尔)->(信号布尔,信号布尔)
。我在#haskell irc上也问了这个问题,从中获得了一些见解。用户dmjio将其提取为要点: