quinta-feira, 27 de agosto de 2009

Estrutura do Programa ( Scheme )

PROGRAMAS

Um programa Scheme consiste de uma seqüência de expressões e definições. Programas são tipicamente armazenados em arquivos ou entrados interativamente para um sistema executável Scheme, apesar de que outros paradigmas são possíveis.
Definições que ocorrem no topo de um programa pode ser interpretado declarativamente. Eles causam binding para serem criados no nível mais alto do ambiente. Expressões que ocorrem no topo de um programa são interpretadas imperativamente. Elas são executados em ordem, quando o programa é chamado ou carregado e tipicamente realizam algum tipo de inicialização.

DEFINIÇÕES

Definições são válidas em alguns contextos, mas não em todos, onde expressões são permitidas. Elas são válidas somente no nível mais alto de um e em algumas implementações no início de um .
Uma definição deveria ter uma das seguintes formas:
  • (define ). Esta é uma sintaxe essencial.
  • (define ( ) . Esta sintaxe não é essencial. deveria ser ou uma seqüência de zero ou mais variáveis ou uma seqüência de uma ou mais variáveis, seguidas por um período de espaço limitado e outra variável.
  • (define ( ) . Esta sintaxe não é essencial. deveria ser uma variável única.
  • (begin . . . ). Esta sintaxe é essencial.

DEFINIÇÕES DE TOPO DE NÍVEL

No topo de um programa, uma definição
(define  )
tem essencialmente o mesmo efeito como a expressão de indicação
(set!  )
se é obrigado. Se não é obrigado, entretanto, então a definição ligará a uma nova localização antes de realizar a indicação, considerando que seria um erro realizar um set! sobre uma variável não obrigatória.
Todas as implementações Scheme devem suportar definições de topo de nível. Algumas implementações de Scheme usam um ambiente inicial no qual todas as possíveis variáveis são destinadas para locação, das quais a maioria contém valores indefinidos.

DEFINIÇÕES INTERNAS

Algumas implementações de Scheme permitem que definições ocorram no início de um . Tais definições são conhecidas como definições internas como o oposto de definições de topo de nível. A variável definida por uma definição interna é local para o . Isto é, é obrigatório ao invés de ser determinado e a região de ligação é todo o .

Nenhum comentário: