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 />

Ex. 79 — Descreva uma macro while que use uma continuação para sair do laço.<br />

Ex. 80 — Modifique o mini-sistema de tratamento de exceções da seção 8.4 para que o<br />

tratador de erros possa aceitar um número arbitrário de argumentos. Assim seria possível<br />

usar try da seguinte forma:<br />

( try on-error :<br />

...<br />

( lambda ( erro status )<br />

( display ( format " erro : ~a~%" erro ))<br />

( display ( format " status após erro : ~a~%"<br />

( throw ’ erro-conexao<br />

status )))<br />

" selecionei outro host "))<br />

Ex. 81 — No final da Seção 8.4 mencionamos porque tivemos que usar o ambiente global<br />

para guardar o procedimento throw. Desenhe um diagrama de ambientes para ilustrar o<br />

problema.<br />

Ex. 82 — Mostre que na verdade é possível resolver o problema descrito no final da<br />

Seção 8.4.<br />

Ex. 83 — É possível implementar uma primitiva que constrói co-rotinas usando procedimentos<br />

ao invés da macro usada na seção 8.5. Mostre <strong>com</strong>o fazê-lo, e explique<br />

detalhadamente os procedimentos.<br />

Ex. 84 — Reimplemente o pequeno sistema de threads usando a primitiva coroutine.<br />

Versão Preliminar<br />

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