對不起,我不好說英語。評價「main = return(getChar,getChar)」
讓我們看看下面的代碼。
main = getChar
第一,主要將被評估,並且它的值爲「的getchar」,但是編譯器不知道「的getchar」值,因此編譯器將評估「的getchar」計算「的getchar」的價值,所以, getChar將被執行。
其實當我測試上面的代碼。 。「的getchar執行
讓我們來看看下面的代碼
main = return (getChar, getChar)
首先,主要的評估,它的價值回報(不確定的,不確定的) - > IO(不確定的,不確定的),所以序幕將評估IO(但是,當我測試上面的代碼,沒有兩個getChar沒有被評估。我不明白爲什麼沒有兩個getChar是爲什麼沒有被評估。
順便說一下,你從哪裏得到的信息,主要的結果應該打印?事實並非如此。無論如何,它只會被丟棄。 – Ingo
'return X'不執行'X'的效果。例如,'main = return getChar'將不會執行任何操作。 – sdcvvc
任何人都可以在這裏提供該代碼的應用風格版本,做什麼OP想要什麼? – hugomg