Skip to content

Latest commit

 

History

History
76 lines (57 loc) · 1.95 KB

aula-21.org

File metadata and controls

76 lines (57 loc) · 1.95 KB

Aula 21

Falamos um pouco sobre literate programming, vide referências abaixo. Mostrei exemplo do Org-Mode do Emacs. Em Racket existe o Scribble.

Sobre a nota https://goo.gl/5ti6TM

In fact, we suspect that these problems cannot be adequately addressed in terms of computer-language design alone, without also drawing on work in knowledge representation and automated reasoning.

Por que knowledge representation? Bem, vejam que o exemplo que o livro usa são números e operação sobre números. Eles constituem uma classe +/- bem comportada com uma hierarquia bem simples, fig 2.25.

Na figura 2.26, a ‘organizar’ em tipos e hierarquia deles o domínio de figuras geométricas já é bem mais complicado. Imaginem domínios mais específicos ainda como geologia etc.

Neste sentido knowledge representation é uma disciplina fundamental de modelagem aplicavél para este problema dos tipos.

automated reasoning… bem, aqui a coisa fica mais interessante.

Sobre literate programming e https://goo.gl/x93rjP que diz:

We will not attempt to develop a complete algebraic-manipulation system here. Such systems are exceedingly complex programs, embodying deep algebraic knowledge and elegant algorithms.

Vale assistir:

https://www.youtube.com/watch?v=Av0PQDVTP4A

Exemplo

a <- 1:10
b <- a * 10
b
(mapcar (lambda (n) (* (car n) (car n))) dados)

Referências