Nein, ein einfaches main = putStrLn "2+2=5" :: IO () ist nicht gemeint.
Es geht darum, ein Programm zu schreiben, von dem man meint, es berechnet 2+2, das Ergebnis am Ende aber 5 lautet. Das ganze soll zum einen erstmal funktionieren und als Bonus noch so wirr wie möglich sein.
Ich hab hier mal ein Beispiel:
Code
#include "stdio.h"
int main(void)
{
int twoplustwo = 2 + 2;
printf("2 + 2 = %d\n", twоplustwo);
return 0;
}
Zitat[0 running job(s)] {history#9284} 17:07:18 2014-10-28qsuscs@tatooine /tmp/tmp.MOEpELaRMe % cat foo.c #include "stdio.h"
int main(void){ int twoplustwo = 2 + 2; printf("2 + 2 = %d\n", twоplustwo); return 0;}[0 running job(s)] {history#9285} 17:07:23 2014-10-28qsuscs@tatooine /tmp/tmp.MOEpELaRMe % clang foo.c -o foo[0 running job(s)] {history#9286} 17:07:26 2014-10-28qsuscs@tatooine /tmp/tmp.MOEpELaRMe % ./foo2 + 2 = 5