Scheme problem (using a function as a parameter) -
i'm scheme newbie , trying make sense of homework. i've function made earlier called duplicate , , looks this: ( define ( duplicate lis ) (if (null? lis) '()) ((cons (car lis) (cons (car lis) (duplicate (cdr lis)))) )) a typical i/o i: (duplicate '(1 2 3 4)) o: (1 1 2 2 3 3 4 4), basicly duplicates in list. moving on: i'm supposed make function that's called comp . it's supposed built this: (define (comp f g) (lambda (x) (f (g (x)))) where input '(1 2 3 4) , return (1 1 4 4 9 9 16 16) so f = duplicate , g = lambda . know lambda should this: (lambda (x) (* x x)) but here's problem starts, i've spent several hours on this, , can see not made progress. any appreciated. best regards. use map : > (map (lambda (x) (* x x)) (duplicate '(1 2 3 4))) => (1 1 4 4 9 9 16 16) or, modify duplicate take procedure second argument , apply each element of list: (define (duplicate lst p) ...