不過一直以來都不太清楚那是做什麼的,只隱約知
道type ( )有兩個elements : unit ( ) 和 bottom _|_ 。
雖說大概可以猜說這個unit type是用來描述Relative
Nothing和Absolute Nothing這樣的概念。但是也
一直想不太到實際上這要做什麼。
不過前幾天在書上看到一段在講unit。其中也有舉了
一個簡單的例子。看完以後有種恍然大悟的感覺。
圓周率一般的寫法如下
pi :: Float
pi = 3.14159
這樣當然是正確的,沒什麼不好現在我們加入unit。
pifun :: ( ) -> Float
pifun ( ) = 3.14159
這樣有什麼好處呢?如此一來我們就有一個function
可以用。比起原本的pi,pifun因為是function,所以
我們可以有更大的彈性以及更好的一些性質。例如
說我們現在可以對pifun用compose,而不在只是
把pi當作value餵給另一個function。
(*2).(pifun)
(*2) pi
最後,補充一下有關Absolute Nothing和Relative
Nothing的事情。在Ontology(形上學)中,主要是
以Being(存在)為探討的主題。而相對於Being的概念,
就有了Nothing(無)的概念。後來隨著各代哲學家的研究,
出現了Absolute Nothing(絕對無)和Relative Nothing
(相對無)這兩種略有不同的Nothing。AN是相對Being
的東西,他相當於"完全沒有存在任何東西"。RN則比較
像是欠缺什麼,也有點像是比較不嚴謹的AN。一個顯著
的例子就是 Φ 和 { } 之間的差別:
Φ 是沒有任何東西。
{ } 有一個空的東西。
沒有留言:
張貼留言