簡體   English   中英

哈達克Haskell表達學院的術語

[英]Terminology in Hudak's Haskell School of Expression

在Hudak的Haskell SOE書中的第173頁上的“ 簡單變量 ”(帶有紅色問號)是什么意思?

有人可以解釋一下下面的句子是什么意思嗎?

...構造函數的每個參數->必須是一個簡單變量。

->類型構造函數對嗎? 不是數據構造函數。 我說得對嗎? 因此->的參數應該是類型。 這是我的理解,但我不知道Hudak這句話的意思。

在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明

在簡單的Haskell中,可以給出實例的“模式”的種類受到很大限制。 特別是,它們應該是具有一些類型變量的單個類型構造函數,並且每個類型變量可能都有其自己的約束。

值得單獨說明。 與表達式非常相似, 類型具有類型變量 ,這些變量只能看作是“類型級別”中固定但未知的變量。

最初,這些限制的目的是確保類型類解析終止。 從那時起,更復雜的類型類實例的價值已通過用於解決類型類的更復雜的算法實現,並且這些限制已通過多種方式解除。

但是值得贊揚的是,哈達克認為,他在許多工作尚未完成之前就在寫作。 您可以看到(->)作為前綴類型構造函數,就像其他任何前綴一樣

type A a b = a -> b

然后將Hudak的陳述解釋為類型類實例只能針對以下形式的對象

instance Foo  A      where
instance Bar (A a)   where
instance Baz (A a b) where

現在我們可以看到他的陳述的含義-應用於A的每種類型都是“簡單(類型)變量”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM