In Scheme, how can I make use of the define/lambda shorthand for nested lambda expressions within my define?
For example given the following procedure...
(define add
(lambda (num1 num2)
(+ num1 num2)))
One can shorten it to this:
(define (add num1 num2)
(+ num1 num2))
However, how can I shorten the following function similarly ?
(define makeOperator
(lambda (operator)
(lambda (num1 num2)
(operator num1 num2))))
;example useage - equivalent to (* 3 4):
((makeOperator *) 3 4)
(define (makeOperator operator)
(lambda (num1 num2)
(operator num1 num2)))
The second lambda can not be shortened.
Well you could shorten it to (define (makeOperator operator) operator)
, if you don't want to enforce that the returned function takes exactly two arguments.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With