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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

37].<br />

Ao implementar certas estruturas de dados pode ser vantajoso usar avaliação preguiçosa [36,<br />

9.5 problemas <strong>com</strong> delay e force<br />

(aqui deve entrar uma discussão sobre os problemas descritos na SRFI-45)<br />

exercícios<br />

Ex. 85 — A macro depois, definida na seção 9.1.1, foi modificada para que o valor de<br />

expressões não fossem <strong>com</strong>putados novamente a cada chamada de agora. É possível<br />

manter a versão original de depois e alterar o procedimento agora para que ele se lembre<br />

do resultado e não calcule a expressão duas vezes Quão difícil seria fazê-lo<br />

Ex. 86 — Implemente versões dos procedimentos do Capítulo 5 para streams.<br />

Ex. 87 — A avaliação preguiçosa usando delay e force tem um problema: não se pode<br />

usar um <strong>com</strong>binador para estruturas preguiçosas e não preguiçosas (em outras palavras, a<br />

preguiça implementada <strong>com</strong>o biblioteca implica em uso de tipos diferentes para estruturas<br />

preguiçosas). Elabore mais sobre este tema.<br />

Ex. 88 — Mostre <strong>com</strong>o implementar o procedimento stream-ref, que retorna o n-ésimo<br />

elemento de uma stream. Faça duas versões: uma usando stream-take e outra não.<br />

Versão Preliminar<br />

224<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!