Alas, I'm already using tables to represent a particular data value,
so I can't really overload them like that!
What my program is is a makefile generator. You specify a target and a
list of source files like this:
app { "one.c", "two.c", "three.c" }
You can specify global options:
app { optimisation=0, "one.c", "two.c", "three.c" }
*And* you can specify local options:
app { optimisation=3, "one.c", {optimisation=0, "two.c"}, "three.c" }
This all works fine.
What I want to do is to be able to use app {} as part of the
description of another target, say module {}. So I can do:
module {
app { ... },
app { ... }
}