There is now a compose function in the purrr library. By default composition is made from right to left, as in Haskell, but it can be reversed with the .dir param:
library(purrr)
f = function(x) x+1
g = function(x) x*3
> compose(g,f)(1)
[1] 6
> compose(f,g, .dir="forward")(1)
[1] 6