symbolic programming
macros