title: Racket, applying list of functions: abstract list functions
body: <p>I want to create a function using abstract list functions that will apply a list of functions onto each other, without a starting element (take the starting point as 0)</p>
  
  <p>So  '(list add1 sqr add1) -> 2</p>
  
  <p>What I have so far creates a list of what those function do individually, so for the above example '(1 0 1)</p>
  
  <p>Any help? An explanation would be nice if you could spare one, I'm still iffy about things such as foldr, map, etc</p>
  
  <pre><code>     (define (apply_functions lof)
       (map (lambda (lof) (lof 0)) lof))
  </code></pre>
  
  <p>I previously defined a composite function as below in case its helpful at all?</p>
  
  <pre><code>     (define (composite f g)
        (lambda (x) (f (g x))))
  </code></pre>
  
  <p>Could the initial problem also be translated to a function which takes in a list of function and an initial number (other than 0) and produces the number result</p>
  
  <p>for example:
  '( add1 sqr sub1) 4 -> 10</p>
  
  <p>EDIT::</p>
  
  <p>So looking at the question, it wanted something such as (check-expect ((composite-list (list add1 sqr sub1)) 3) 5), where the start number is not included as a variable. I've tried multiple variations of the code but can't make it work. </p>