Generic Programming
在 Planet Haskell 看到 Edward Kmett 準備貼出一系列的 recursion scheme 簡要整理 ─ 就是莫斐生大家庭啦!目前已經有卡塔和帕拉了。下一個好像是跩哥(zygo)的樣子 XD。
然後我本來想到 pl-tw 去貼一篇 story,可是找不到該怎麼貼(有權限問題?),所以就先貼我這裡啦。貼這裡有個好處,就是我可以肆無忌憚說「我」,而且可以寫 "XD" XD。總之因為我本來要貼到那邊,那就不能把連結丟著就跑,只好想想 abstract nonsense 和一般的 programmer 有什麼關係,想著想著就想到 generic programming 啦。用 "generic programming functor" 上網一找,找到 Gabriel Dos Reis 和 Jaakko Järvi 的〈What is Generic Programming?〉。這篇我很久以前看過!看:
這篇 paper 接著用我現在已經不完全陌生的 category theory 統合兩者(我還沒看完,不過我會猜是把上面整併到下面 XD)。我第一次看這篇的時候完全不認識第二種進路,現在竟然不知不覺地和它親密接觸了!我是什麼時候第一次看到這一篇的呢?我猜是兩年又一個月前 ─ 那時候鐵定看不懂 XD。那時候超愛寫這種性質的文章,有些想法很蠢,不過也的確成功把那時候的想法留下來了。看到最後真是雞皮疙瘩全冒出來:Generic programming has been approached from various angles in both the functional programming and imperative programming communities. We identify two main schools of thought:
- the "gradual lifting of concrete algorithms" discipline as first described by David Musser, Alexander Stepanov, Deepak Kapur and collaborators;
- a calculational approach to programming, the foundations of which were laid by Richard Bird and Lambert Meertens.
約一個月後我決定輔修數學系。這直覺也未免太準了,準到讓我今天精確地回到當年引我上路的 paper!不禁想起家裡《歌劇魅影》小說裡面的一段,魅影唱著歌引導女主角走入鏡中,房中最後只迴盪著一句我似乎已經有點感覺,自己將在 CSIE 領域主攻哪個面向了。Oh, let's see how far we can go. :)
命運將你永無回頭地帶向我!
--
這下心意又更堅定啦。
結果 Dos Reis & Järvi 的文章好像不是那時候看到的,而是決定輔修數學之後約再一個月的事情。所以就無法確定五月時「抽象代數」的觀點是怎麼來的了。
--
回答那時候的我的疑問:很值得!
Labels: 回顧
人生總是誤打誤撞的前進,總覺得自己做了傻事,不過大部分的時間想想卻很值得。
<< 回到主頁