in reply to Adding 2 + 2
use Language::Haskell; print Language::Haskell->new->eval('foldr (+) 0 [2,2]'); [download]
(Hey, I saw somebody do it with C, so I can do it in Haskell)
use Language::Functional qw(foldr); print foldr { $_[0] + $_[1] } 0, [2,2]; [download]
-Bryan