scm 老師給的 reference:Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell by Simon Peyton Jones。Tutorial 的開場白有一段

The bottom line is that laziness and side effects are, from a practical point of view, incompatible. If you want to use a lazy language, it pretty much has to be a purely functional language; if you want to use side effects, you had better use a strict language.

For a long time this situation was rather embarrassing for the lazy community: even the input/output story for purely-functional languages was weak and unconvincing, let alone error recovery, concurrency, etc. Over the last few years, a surprising solution has emerged: the monad. I say "surprising" because anything with as exotic a name as "monad" — derived from category theory, one of the most abstract branches of mathematics — is unlikely to be very useful to red-blooded programmers. [...]

我的詮釋:monad 根本是火星話,沒想到地球人竟然也能用,真是太神奇了!

不過 "red-blooded" 好像另有慣用的意思就是了 XD。

看來 "red-blooded" 一般詮釋為「熱血」,我這裡是照字面意思詮釋為「紅血」,假設火星人的血不是紅色的 XD。


<< 回到主頁