簡體   English   中英

Haskell 或 GHC 的主要定義在哪里?

[英]Where is Haskell's or GHC's main defined?

在 Haskell 中,編譯程序的執行從在模塊Main中執行main開始。 此函數的類型必須為IO ()

哪個標准或參考定義了上述內容?

Haskell 2010Haskell 98沒有正式定義main (盡管有幾個稱為main的函數示例),而是說:

我們把操作、解釋、編譯等 Haskell 程序的方式作為實現依賴。

GHC 用戶指南指導用戶創建一個main函數,但從未提及其所需的類型或它是程序執行的開始。 有對Main模塊的引用,但沒有main函數。

比較C++ (參考 C11 標准 (ISO/IEC 9899:2011) 5.1.2.2.1 程序啟動 (p: 13)):

每個 C 程序 [...] 都包含一個名為 main 的函數的定義 [...],它是程序的指定開始

哪個標准或參考說main是 Haskell 程序執行的開始?

Haskell程序是一組模塊,按照慣例,其中一個必須稱為Main並且必須導出值main 程序的是模塊Main中標識符main的值,它必須是某個類型τ的類型IO τ的計算(參見第7章)。 當程序被執行時,計算main被執行,並且它的結果(類型為τ )被丟棄。

https://www.haskell.org/onlinereport/haskell2010/haskellch5.html#dx11-98001

暫無
暫無

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

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