Next: let, Previous: interest, Up: GCL Reference

#### 7.2.68 lambda

`(lambda (ARG1 ...) EXPR1 ... EXPRN)`
  Uma expressão lambda é como uma função. Para “chamar” uma expressão lambda, a expressão lambda tem de ser chamada como uma função: `((lambda (arg) (+ 1 arg)) 2)`. Nesse exemplo, o valor completo da expressão deve ser 3. Em geral, o valor da chamada irá ser o valor de EXPRN. A primeira lista serve para definir os parâmetros formais. A expressão lambda propriamente dita é apenas uma lista, iniciando-se com a palavra chava lambda, seguida por muitas listas entre aspas duplas. See `(defun ...)`. See `(setq ...)`. See `(let ...)`. Note que a lista argumento pode conter as palavras chaves especiais
  `&optional`
    fornecimento de valores aos identificadores seguintes é opcional, seus valores padrão irão ser `nil`
  `&rest`
    todos os argumentos excedentes irão ser coletados em uma lista, e essa lista irá ser atribuída ao argumento seginte, da seguinte forma:

                       ((lambda (&rest rest) (echo rest)) a b c d)

    A saída irá ser `(a b c d)`.