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

(if ( problema )<br />

(! canal ’DANGER ))<br />

( loop ))))<br />

O processo mostra precisa escolher entre alternativas. Podemos definir uma forma<br />

especial alt, sintaticamente semelhante ao cond, mas <strong>com</strong> a mesma funcionalidade do<br />

ALT de occam:<br />

( define mostra<br />

( lambda ( dados alarme )<br />

( let loop ()<br />

13.1.3 occam<br />

( alt (( dados valor )<br />

( loop ))))<br />

( display valor )<br />

( newline ))<br />

(( al alarme )<br />

( display " Alarme acionado ")<br />

( newline )))<br />

A linguagem occam [50] foi projetada para oferecer primitivas de concorrência que<br />

espelhem os operadores do CSP 2 . occam foi desenvolvida nos anos 80 e projetada para<br />

ser uma linguagem segura, por isso sua porção sequencial tem fortes semelhanças <strong>com</strong><br />

Pascal.<br />

Em occam, as palavras-chave SEQ e PAR são usadas para determinar que um conjunto<br />

de <strong>com</strong>andos seja executado sequencialmente ou em paralelo:<br />

SEQ<br />

x := y<br />

a := 2 * x<br />

PAR<br />

z :=<br />

w :=<br />

calculo-demorado<br />

outro-calculo-demorado<br />

Versão Preliminar<br />

2 Mais tarde houve o desenvolvimento de occam-π, que usa também idéias do π-cálculo [51]<br />

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

287

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

Saved successfully!

Ooh no, something went wrong!