MACRO SEMINAR (Q4, S'05)

[ macro seminar | weekly plan | webboard ]

Tuesdays (14:15 - 17:00) [ Turing.130 ]

MACRO

    Webster's("macro")
    Main Entry: 2macro
    Pronunication: 'ma-(")krO
    Function: noun
    Inflected Form(s): plural macros
    Etymology: short for macroinstruction
    Date: 1959
       "a single computer instruction that stands for a sequence of operations"

MOTIVATIONS (BENEFITS)

  • Abstraction
  • Language extension
  • Consistency
  • Encapsulation
  • Code reuse
  • Modularity
  • Genericity
  • ...
for (String s : list) {
    System.out.println(s);
}
vs.
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
    String s = (String) iterator.next();
    System.out.println(s);
}

TECHNOLOGIES

  • <wigmac> (The <bigwig> macro mechanism)
  • JTS (Jakarta Tool Suite)
  • MS2 (Meta Syntactic Macro System)
  • CPP (The C Preprocessor)
  • JSE (Java Syntactic Extender)
  • Dylan (Dylan macros)
  • Maya (Maya macro mechanism)
  • M4 (The universal unix preprocessor)
  • TeX Macros (The TeX macro mechanism)
  • C++ Templates
  • Scheme (Scheme's define-syntax mechanism)
  • Lisp
  • JSP taglib? (JSP's tag library mechanism)
  • SAS Macro Language
  • ...

STUDY GROUP

  • Claus Brabrand
  • Per Graa
  • Andreas K. Carlsen
  • Søren Olesen
  • Nicolai Lambæk
  • Kim Kortermand
  • Mads Sig Ager

Claus Brabrand (June 9, 2005)