Q:

How to recreate apply in scheme

how would i create the function apply in scheme? 
A my-apply function that does the same thing as it. 
 (define (my-apply fn lst)
 (if (null?  lst)

I'm not sure where to go from here or how to start. 

A:

I think apply is "more fundamental" than eval, so the following is cheating:
(define (my-apply func args)
  (eval `(,func ,@args)))

I don't think you can do it without eval.