libcello.org
Appealing though it is you are not allowed to use $ for a MACRO name in C. It fails in vendor C compilers on AIX and SunOS at least IIRC. I know cause I tried to use it myself once ;)
Reply on news.ycombinator.com