2008/06/24

好簡單

把〈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:

Blogger yen36/24/2008 8:58 am 說:

很不幸的,我只看的懂這篇的程式碼XD

 
OpenID xcycl6/24/2008 4:46 pm 說:

用 category 語言描述,有甚麼好處,或者說,有甚麼結果變得比較清楚?

似乎不像代數拓樸以及其同調代數等等有許多直接關聯,或者像是其他代數結構,用範疇的語言整合觀念 ...

 
Blogger Josh Ko6/24/2008 5:07 pm 說:

我應該還沒辦法回答這個問題,尤其是我不懂代數拓樸… scm 老師看到的話,可以幫忙一下嗎?XD

不過我還是先亂講一點吧… 我會猜你的問題可以推廣到「為程式語言定義 denotational semantics 有什麼好處」。一個最大的好處就是我們可以相當簡潔地賦予程式語言意義,並推理證明程式的正確性。而 category theory 在我目前非常有限的經驗中是最簡潔的一條進路。

 
Anonymous Anonymous6/24/2008 7:50 pm 說:

C++編程規範 預購
by 侯捷

http://www.kingstone.com.tw/book/book_page.asp?LID=se008&kmcode=2014713066435&Actid=tornado

gulian.

 
Blogger yen36/25/2008 12:42 am 說:

這本終於要出了XD。

 

<< 回到主頁