是微不足道的重新定義函數(())是如何在內部定義的?
(,) :: a -> b -> (a,b)
(,) a b = (a,b)
怪異的(對我)的事情是,這個功能是任意長度元組定義。因此,例如,實際上有一個功能:
(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) :: a -> b -> c -> ... -> (a,b,c,...)
這是如何完成的?爲什麼沒有爲所有的元組標準函數完成,比如zip?
Hoogle給我no results,我沒有看到Haskell如何做到這一點,所以我認爲它必須是編譯器內部的某種魔力。但對我來說,這看起來非常不合時宜。
你現在應該回你的問題了。 – 2012-08-10 22:48:16
非常非Haskelly,但是是真的。 – augustss 2012-08-11 04:51:13