Technology
 

Scheme

De Programação

Scheme é uma linguagem de programação multi-paradigma que suporta programação funcional e procedural. Foi criada por Guy L. Steele e Gerald Jay Sussman nos anos 70 a partir da linguagem Lisp com o intuito de estudar a teoria dos atores de Carl Hewitt. Existem dois padrões que definem a linguagem Scheme: o padrão oficial IEEE e um padrão popular chamado "Revisedn Report on the Algorithmic Language Scheme", abreviado como RnRS, onde n é o número de revisões.

Scheme adota uma filosofia minimalista, assim sendo, provê o mínimo de noções possíveis, e, na prática, qualquer outra noção pode ser adicionada via bibliotecas, como todos os dialetos do Lisp, possui pouca sintaxe comparado à maioria das outras linguagens. Devido à sua sintaxe completamete aninhada, não existem regras de precedência de operadores e sua notação parentizada é usada para todas as chamadas de função, desta forma não há ambigüidades como as que são encontradas nas linguagens de notação infixa.


[editar] Exemplos de código


Hello world

 (define hello-world
   (lambda ()
     (display "Hello World") 
     (newline)))
 (hello-world)


Loops

 (define (factorial n)
   (cond ((= n 0)  1)
         (else     (* n (factorial (- n 1))))))
 (factorial 5)
 ;; => 120