標籤:

學 Haskell 果然是要趁早

學 Haskell 果然是要趁早

幾年前, length 的類型是介個樣子滴

length :: [a] -> Int

現在你打開 GHCi 捏,是介個樣子滴,(搜 FTP ,並沒有真相

length :: Foldable t => t a -> Int

當然了,這其實並不會有什麼大的影響,因為我們有

instance Foldable []

不過呢,如果你剛開始學 Haskell ,你很可能根本不知道 Foldable 是 TMD 什麼鬼。而且這也造成了之前在知乎上被提到的坑新手用的

minimum (1, 2) == 2

不過我為啥時隔這麼久把這個陳芝麻爛穀子拿出來說呢?因為我今天不知道哪根筋不對勁去看了這個 Libraries/Proposals/SemigroupMonoid a€「 Haskell Prime

大致內容和之前的 AMP 差不多,就是說中央已經研究決定了(其實並沒有),那個 Semigroup ,以後你來當 Monoid 的 superclass ,然後 Semigroup 就念了兩句詩(以下省略十四字。

突然好慶幸自己學 Haskell 的時候還沒有這些東西,雖然入門一點之後發現不是現在這麼嚴格還經常吐槽,然而如果入門階段有這些東西就難得不是一點半點了。我對大 Haskell 神教未來的傳教事業感到非常憂慮。

當然了,每個語言都會演化,不過一般語言的演化會使入門變簡單,進階變困難,然而我大 Haskell 的演化是反著來的,入門變困難,進階變簡單。


推薦閱讀:

第一門編程語言就是 Haskell 之流是怎樣一種體驗?
EDSL相關雜記(2)
C++、Haskell、Scala 和 Rust 究竟哪個最複雜?
Comonad有什麼實際用途?
OCaml在寫編譯器上比Haskell好在哪?為何Rust第一個版本採用了OCaml?

TAG:Haskell |