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

Na Seção 1.2.1 usamos o símbolo * para multiplicar φ por 2 simplesmente porque o<br />

valor deste símbolo é o procedimento de multiplicação:<br />

/<br />

#<br />

+<br />

#<br />

*<br />

#<br />

A resposta do REPL, “#”, é uma representação usada por uma<br />

implementação de <strong>Scheme</strong> para estes procedimentos. Esta representação normalmente<br />

varia de uma implementação a outra.<br />

Podemos definir outro símbolo para realizar a mesma operação feita pelo procedimento<br />

+:<br />

(define soma +)<br />

(soma 4 5 6)<br />

15<br />

Também é possível determinar que o símbolo + não tenha mais o valor “procedimento<br />

soma”, mas que ao invés disso tenha <strong>com</strong>o valor o procedimento subtração:<br />

(define soma +)<br />

soma<br />

#<br />

(define + -)<br />

(+ 10 2)<br />

8<br />

Como o procedimento de soma original foi guardado na variável soma, é possível<br />

devolver seu valor à variável +:<br />

(define + soma)<br />

(+ 10 2)<br />

12<br />

Versão Preliminar<br />

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

7

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

Saved successfully!

Ooh no, something went wrong!