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的一个理想:允许一个问题仅仅个哦能通过描述可以得到解决。