[英]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.