[心得] CLisp巨集

樑濤發表於2011-11-05

從某個角度來說,CLisp巨集也是文字替換。但與C巨集不同的是,CLisp巨集提供了更豐富的語義——不是簡單地展開、替換,而是許以各種語言提供的函式和使用者擴充套件的函式來操作“目標替換文字列表”本身,以達到動態程式設計效果。

這樣做有兩個明顯好處:1)列表形式的替換文字以與程式邏輯一致的語法結構呈現出來,使得絕大部分動態程式設計操作可以統一到列表操作之中;2)將“組織程式邏輯”的策略與“生成/執行程式邏輯”的機制完全解藕。