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

para implementar estes padrões e isoladas em poucas macros ou funções, <strong>com</strong>o nos<br />

exemplos dados (try, coroutine e pause abstraem padrões de uso de continuações).<br />

8.8 não-determinismo<br />

8.9 estilo de passagem de continuações (opcional)<br />

(esta seção está in<strong>com</strong>pleta)<br />

Uma das possíveis formas intermediárias entre o código fonte e a linguagem assembly<br />

1 se chama “estilo de passagem de continuações” (continuation-passing style).<br />

exercícios<br />

Ex. 77 — Determine os contextos das subexpressões:<br />

1.(+ 2 3) em (abs (+ 2 3))<br />

2.x em (* x (- 4 y))<br />

3.(sqrt (* a b)) em (* a (log (sqrt (* a b))) c)<br />

4.x em:<br />

( cond (( > a b)<br />

(* 2 x))<br />

((< a b)<br />

(* 10 y))<br />

( else 0))<br />

Ex. 78 — Implemente um procedimento contexto que aceite doisargumentos, uma expressão<br />

(uma lista de símbolos) e uma subexpressão, e determine o contexto (também<br />

em forma simbólica). Se o egundo argumento não for subexpressão do primeiro, o<br />

Versão Preliminar<br />

procedimento contexto deve retornar #f<br />

1 Por “assembly” entenda-se tanto código nativo para uma arquitetura real ou código para alguma máquina<br />

virtual.<br />

[ 27 de outubro de 2010 at 15:47 ]<br />

213

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

Saved successfully!

Ooh no, something went wrong!