好簡單
把〈What is Generic Programming?〉看完了。我猜的果然沒錯,主要都是描述 AoP 的 category-theoretic approach,然後把 STL 對應的組件拿出來指點一番,說這裡其實就是 pattern matching、那裡就是 algebra 之類的。我比較有印象的幾點是:
- Vistor pattern 可以看作是 disjoint union 的 fold(i.e., pattern matching);
- Musser-Stepanov 風格的 generic programming 著重的是資料結構上有哪些操作,而不是資料結構如何建構,因此比較像 final coalgebras 而不像 Bird-Meertens 常用的 initial algebras;
- Bird-Meertens 風格可以多考慮一點效率問題。
--
兩年之後終於可以輕易看懂這篇了… 真感動 XD。
Labels: Programming
很不幸的,我只看的懂這篇的程式碼XD
用 category 語言描述,有甚麼好處,或者說,有甚麼結果變得比較清楚?
似乎不像代數拓樸以及其同調代數等等有許多直接關聯,或者像是其他代數結構,用範疇的語言整合觀念 ...
我應該還沒辦法回答這個問題,尤其是我不懂代數拓樸… scm 老師看到的話,可以幫忙一下嗎?XD
不過我還是先亂講一點吧… 我會猜你的問題可以推廣到「為程式語言定義 denotational semantics 有什麼好處」。一個最大的好處就是我們可以相當簡潔地賦予程式語言意義,並推理證明程式的正確性。而 category theory 在我目前非常有限的經驗中是最簡潔的一條進路。
C++編程規範 預購
by 侯捷
http://www.kingstone.com.tw/book/book_page.asp?LID=se008&kmcode=2014713066435&Actid=tornado
gulian.
這本終於要出了XD。
<< 回到主頁