2016-04-04 123 views
1

我正在研究一個需要我在Haskell中編寫自己的類型推理引擎的項目。類型推理引擎haskell

  1. 爲什麼統一的算法是非常重要的建設推理引擎
  2. 我可以創建這種類型的推理引擎與像C#語言 非常感謝

回答

3

關於這個問題的重要的參考是「打字哈斯克爾在哈斯克爾「由馬克瓊斯。有一個markdown version由Chris Done可以轉錄以及the original轉錄。另外,Types and Programming Languages對經典算法W(基礎Haskell和ML風格類型推斷)進行了解釋並證明了它的正確性。

請記住,類型推斷作爲一個問題很大程度上取決於您輸入的源語言,而語言級別的小改動會嚴重影響語言。例如:

  • 您是否讓泛化?
  • 類型類?
  • 值或單態限制?
  • 任何類型的模塊?

回答是或否對這些問題中的任何一個都會瘋狂地改變你的類型推斷算法。在你的問題中需要更多的信息,以便能夠給你更具體的資源。

在打字哈斯克爾在Haskell但也沒有試圖解決問題的一個真正的編譯器可能有,像生產AST的註釋版本,以便將來編譯通過知道東西是如何輸入,不僅僅是它是類型。如果你正在構建一個編譯器,那麼你幾乎肯定會想要這樣做。