Task

Create a function, compose,   whose two arguments   f   and   g,   are both functions with one argument.



The result of compose is to be a function of one argument, (lets call the argument   x),   which works like applying function    f    to the result of applying function    g    to    x.



Example

 compose(f, g) (x) = f(g(x))



Reference: Function composition

Hint: In some languages, implementing compose correctly requires creating a closure.




 
Module CheckIt {
      Compose = lambda (f, g)->{
            =lambda f, g (x)->f(g(x))
      }
      Add5=lambda (x)->x+5
      Division2=lambda (x)->x/2
      Add5Div2=compose(Division2, Add5)
      Print Add5Div2(15)=10  ' True
}
CheckIt
 