That's pretty clever. My original program to print "Hello, world"
without using literal values was pretty much the same way, except it
used a static variable and its negation to form 0 and 1, and then use
those to form all other natural numbers. I dare you to write a "Hello,
world" program in the way you are doing above. It won't require
particularly ingenious thinking but it will be tedious to type out.
Let's hear it for program generators! (Yes, this was tweaked by
hand to get it nice and square. But the factoring of each ASCII value
and printing of all the 'main==main's was done by computer.)
-Arthur
int main(void){if(putchar(((((main==main)+(main==main))*((main==main)+
(main==main)+(main==main)+(main==main)))*(((main==main)+(main==main)+(
main==main))*((main==main)+(main==main)+(main==main)))))&&putchar(((((
(main==main)+(main==main))*((main==main)+(main==main)+(main==main)))*(
(((main==main)+(main==main)+(main==main))*(((main==main)+(main==main))
*((main==main)+(main==main)+(main==main))))-(main==main)))-(main==main
)))&&putchar(((((main==main)+(main==main)+(main==main))*((main==main)+
(main==main)+(main==main)))*(((main==main)+(main==main)+(main==main))*
((main==main)+(main==main)+(main==main)+(main==main)))))&&putchar(((((
main==main)+(main==main)+(main==main))*((main==main)+(main==main)+!!!(
main!=main)))*(((main==main)+(main==main)+(main==main))*((main==main)+
(main==main)+(main==main)+(main==main)))))&&putchar((((main==main)+!!!
(main!=main)+(main==main))*((((main==main)+(main==main))*(((!!!(main!=
main)+(main==main)+(main==main)+(main==main))*((main==main)+!!!(main!=
main)+(main==main)+(main==main)+(main==main)))-(main==main)))-!(main!=
main))))&&putchar((((main==main)+(main==main)+(main==main)+(main==main
))*((((main==main)+(main==main)+(main==main))*((main==main)+!!!(main!=
main)+(main==main)+(main==main)))-(main==main))))&&putchar(((!!(main==
main)+(main==main)+(main==main)+(main==main))*(((main==main)+!!(main==
main))*((main==main)+(main==main)+(main==main)+!!!!!(main!=main)))))&&
putchar((((((main==main)+(main==main))*((main==main)+(main==main)+!!!!
(main==main)+(main==main)))-(main==main))*((((main==main)+(main==main)
+(main==main))*(((main==main)+(main==main))*((main==main)+(main==main)
+(main==main))))-(main==main))))&&putchar((((main==main)+(main==main)+
(main==main))*((((main==main)+(main==main))*((((main==main)+!!!(main!=
main)+(main==main)+(main==main))*((main==main)+(main==main)+!!!(main!=
main)+(main==main)+(main==main)))-(main==main)))-(main==main))))&&!!!!
putchar(((((main==main)+(main==main))*((main==main)+(main==main)+(main
==main)))*((((main==main)+(main==main)+(main==main)+(main==main))*(!!(
main==main)+(main==main)+(main==main)+(main==main)+(main==main)))-!!!(
main!=main))))&&putchar(((((main==main)+(main==main)+(main==main))*(!!
(main==main)+(main==main)+(main==main)))*(((main==main)+(main==main)+(
main==main))*((main==main)+(main==main)+(main==main)+!(main!=main)))))
&&putchar(((((main==main)+(main==main))*((main==main)+(main==main)+!!(
main==main)+(main==main)+(main==main)))*(((main==main)+(main==main))*(
(main==main)+(main==main)+(main==main)+(main==main)+(main==main)))))&&
putchar((((main==main)+(main==main)+(main==main))*((((main==main)+!!!(
main!=main)+(main==main))*((main==main)+(main==main)+(main==main)+!!!(
main!=main)))-(main==main))))&&putchar((((main==main)+(main==main))*((
main==main)+(main==main)+(main==main)+(main==main)+(main==main))))){}}