27Oct00
Procedural Macros for Java
Bachrach and Playford
Declarative Data Examples
f(list(x, y, z));
Studies {
  course Math101 {
    title “Mathematics 101”;
    2 points fall term;
  } …
  exclusions {
    Math101 <> MathA;
    Math102 <> MathB;
  }
  prerequisites {
    (Math101, Math102) < (Math201, Math202, Math204);
    (CS101,CS102) < (CS201, CS203);
  }
  …
}
Make up for lack of variable arguments
Example from Brabrand and Schwartzbach
Support domain specific languages
Data is easier to maintain