Lisp Functions

  • DEFUN: define uma função
    • (defun nome (parâmetros) (corpo))
  • FORCE-OUTPUT: garante que Lisp não espere por um newline antes de imprimir um prompt, por exemplo.
    • force-output &optional output-stream
  • FORMAT: formata uma string para impressão e imprime em algum lugar.
    • (format local "diretivas" conteúdo)
    • Local:
      • *standard-output* é o stream de output padrão (em teral a tela). Pode ser abreviado pelo aliast.
      • *query-io* é o strem de input padrão conectado ao terminal
    • Diretivas de formatação:
      • ~{ e ~}: indicam que o conteúdo é uma lista e que o format fará um loop nessa lista, processando outras diretivas internas, consumindo os elementos necessários.
      • ~a é a diretiva estética: consome um argumento e mostra sem : iniciais e aspas.
      • ~10t é uma diretiva de tabulação com 10 espaçs: não consome argumentos.
      • ~% é a diretiva de newline
      • ~r é a diretiva que retorna um número por extenso
  • GETF: recebe uma plist e uma :keyword, e retorna o valor associado à :keyword.
    • (getf (plist) :keyword)
  • LIST: retorna uma list ou uma plist (property list) de seus argumentos. Uma plist é composta de pares :keyword e value.
  • PARSE-INTEGER: recebe uma string e converte em inteiro
    • parse-integer string &key start end radix junk-allowed
  • PRINT: imprime objetos Lisp de forma que possam ser lidos de volta novamente
    • print object &optional output-stream => object
  • READ: lê a representação de um objeto Lisp a partir de um stream de input, e cria tal objeto:
    • read &optional input-stream eof-error-p eof-value recursive-p => object
  • READ-LINE: lê uma única linha de texto a partir de um stream de input.
    • read-line &optional input-stream eof-error-p eof-value recursive-p
  • Y-OR-N-P: faz uma pergunta de yes/no ao usuário e o parse da resposta.
    • y-or-n-p &optional control &rest arguments => generalized-boolean