08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula - Jerônimo C. Pellegrini<br />

• Vetor: sequências de objetos, normalmente criados por procedimento. A representação<br />

externa é #(obj1 obj2 ...).<br />

Além destes tipos de dados, há promessas (criadas <strong>com</strong> delay) e valores indefinidos<br />

(retornados por procedimentos <strong>com</strong> efeitos colaterais).<br />

Listas são pares que não formam estrutura circular e cujo último cdr é ’().<br />

Pode-se usar a repreentação externa de pares, listas e vetores em programas, usando<br />

quote, mas estes serão imutáveis: ’(a . b), ’(a b c), ’#(a b c).<br />

Números podem ser exatos ou inexatos.<br />

• Exato<br />

• Inexato<br />

Números também podem ser:<br />

• Complexo: representado <strong>com</strong>o a+bi, a-bi, -a+bi ou -a-bi, onde a e b são representações<br />

de números não <strong>com</strong>plexos;<br />

• Real: representado <strong>com</strong>o inteiro, racional ou <strong>com</strong>o número de ponto flutuante;<br />

• Racional: representados da mesma forma que inteiros ou números de ponto flutuante,<br />

ou no formato n/d, onde n é um numerador inteiro e d é um denominador inteiro;<br />

• Inteiro<br />

b.2 procedimentos e formas especiais padrão<br />

A lista a seguir é uma referencia rápida de procedimentos e formas especiais definidas<br />

pelo padrão <strong>Scheme</strong>, agregados por assunto.<br />

Todos os procedimentos são definidos no padrão R 5 RS, exceto aqueles marcados <strong>com</strong><br />

“R 7 RS”, que muito provavelmente serão definidos no padrão R 7 RS.<br />

Versão Preliminar<br />

318<br />

[ 27 de outubro de 2010 at 15:47 ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!