in reply to Adding 2 + 2

use Language::Haskell; print Language::Haskell->new->eval('foldr (+) 0 [2,2]');

(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];

    -Bryan