about DSEL

2010-02-08 15:06

[c++, dsel]

最近开始看一本老书(2004年版的): C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond, in amazon 我看的是中文版 C++模板元编程(2010年版), in amazon.cn

之所以想到要看这本书,是因为对模板一直有些疑问,希望籍此解决模板方面的认知错误。
看到第一章,就被其讲述的Domain Specific Language吸引了,这是我的另外一个心病。

其中一句话: >

最成功的DSLs通常是申诉式(declarative)语言,它为我们提供了用来描述 "what" 而不是 "how" 的符号。

并讲述了一个例子: Make语言,一般的Make语法都支持

OBJECTS = main.o kbd.o command.o
edit: $(OBJECTS)
main.o: main.cpp defs.h
kbd.o: kbd.cpp defs.h command.h

其省略了how, 如

main.o: main.cpp defs.h
    c++ -c main.cpp

这几乎接近DSEL的一个理想:允许一个问题仅仅个哦能通过描述可以得到解决