I was thinking of a syntax like this:
macro foo(int bar) // like macros in C, no return type specified, but the paramaters are type checked.{ 2+2+bar // this code is inserted wherever foo is found}
The code inside the macros scope would, of course, have to be left unchecked, but the advantage this would have over C macros is that the engine knows about the macro, knows where it is called, and can tell you whether you used the macro wrong or the syntax of the macro itself could be wrong. Macros that are called recursively or are called by other macros could in effect lead to a code-that-writes-code scenario, much like is seen in Common Lisp.
As for anonymous functions and structures, something like is found in Lua and javascript could be pretty cool.<br><br>I don't know, I'm just thinking out loud at this point. =p