Question
In the lectures we saw that clisps implementation of apply does not have a context argument, but the general Lisp apply takes 3 arguments: a
In the lectures we saw that clisps implementation of apply does not have a context argument, but the general Lisp apply takes 3 arguments: a function, a list containing the arguments the function is to be applied to, and a context. A context is a list of variable value pairs represented as a list.
For example ((x 1) (y (+ 1 3)) represents a context where x is 1 and y is 4. Write a Lisp macro (my-apply func arglist context) which applies the function func to argument list arglist, using context as needed.
For example:
(my-apply + (1 3) ((x 1) (y 2))) 4
(my-apply (lambda (z w) (+ (* x z) (* w y))) (1 3) ((x 1) (y 2))) 7
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started