Name: Anonymous 2012-10-24 2:45
(define (f x)
...)or
(define f (lambda (x)
...)
(define (f x)
...)(define f (lambda (x)
...)
function f(x) {
...
}
var f = function(x) {
...
}
(define (f x) ...) => (f x) in Scheme vs. (defun f (x) ..) => (f x) in Common Lisp), but if implemented correctly if can be layered to create simplified higher-order functions.]=> (define ((make-adder x) y)
(+ x y))
make-adder
]=> (define add-3 (make-adder 3))
add-3
]=> (add-3 4)
7
(define var val). Then have a macro that expands (define (func . args) body) to (define func (lambda args body)). Then the following expansion is automatic:(define (((f x) y) z) ...)
(define ((f x) y) (lambda (z) ...))
(define (f x) (lambda (y) (lambda (z) ...)))
(define f (lambda (x) (lambda (y) (lambda (z) ...))))