Scheme Question
Acceptable Answer:
(define Y
(lambda (func)
((lambda (k) (k k)) func)))
Suitably modified form of "member" function:
(define f
(lambda (member)
(lambda (lst obj)
(if (null? lst)
'()
(if (eq? (car lst) obj) #t ((member member) (cdr lst) obj))))))
Example Use:
((Y f) '(1 2 3 4) 3)
Acceptable Answer:
(define Y
(lambda (X)
((lambda (func)
(X (lambda arg (apply (func func) arg))))
(lambda (func)
(X (lambda arg (apply (func func) arg)))))))
Suitably modified form of "remove" function
(lambda (remove)
(lambda (l p)
(if (null? l)
'()
(if (list? l)
(if (eq? (car l) p)
(remove (cdr l) p)
(cons (remove (car l) p) (remove (cdr l) p))) l))))
Note: Other correct solutions exist
Incorrect:
(define Y
(lambda (c)
((lambda (func)
(lambda (exp) ((func func) exp))) c)))