Lisp Linguagem de Programação FuncionalElizio Neto, Ivanildo Oliveira, Wallace Rooger
História•   O lisp foi criado em 1956, por John    McCarthy.•   A palavra lisp vem de List Processing.• O lisp foi influen...
Objetivo•   John McCarthy queria mostrar que era possível usar    exclusivamente funções matemáticas como estrutura de dad...
PRIMEIROS COMUTADORES A USAR O LISP.  •     IBM 704.                                       • DEC PDP-6.      • IBM 7090.  ...
CARACTERÍSTICAS DO LISP• Lisp é muitas vezes requerido como uma linguagem superior sobre as  outras porque tem certas cara...
CARACTERÍSTICA LISP                      6
CARACTERÍSTICA LISP• Muitas versões e dialetos: Franz, Mac, Inter, Common e  Scheme.• Fraca Tipagem: as variáveis podem se...
CARACTERÍSTICA LISP• Comoom lisp em propósito geral, linguagem de programação multi-  paradigma . Ele suporta uma combinaç...
CARACTERÍSTICA LISP • LISP é frequentemente implementada por um interpretador     Usuário entra com uma expressão Interpre...
CHACOTA LISP • LISP = Lots of Irritating Stupid Parentheses. • tradução: Montes de Irritantes Parênteses Estúpidos, ou ent...
PRINCIPAIS VANTAGENS• Um alto nível de abstração, especialmente quando as funções são  utilizadas, suprimindo muitos detal...
DESVANTAGENS• Menor eficiência.• Problemas que envolvam muitas variáveis (ex. contas de banco) ou  muitas atividades seque...
APLICAÇÕES REAIS DE COMMON LISP. •    Paul Graham escreveu a primeira versão do Yahoo! Store     (então chamada Via Web) e...
REFERÊNCIAS• programacao.wikia.com/wiki/Lisp • pt.wikipedia.org/wiki/Lisp • www2.dc.ufscar.br/~heloisa/PLP2009/LISP • http...
15
Upcoming SlideShare
Loading in …5
×

Seminário: Lisp

2,171 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,171
On SlideShare
0
From Embeds
0
Number of Embeds
821
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Seminário: Lisp

  1. 1. Lisp Linguagem de Programação FuncionalElizio Neto, Ivanildo Oliveira, Wallace Rooger
  2. 2. História• O lisp foi criado em 1956, por John McCarthy.• A palavra lisp vem de List Processing.• O lisp foi influenciado pelo calculo lambda, de Alonzo Chuch nos anos 40.• A linguagem lisp nasceu como uma ferramenta matemática.• É a segunda linguagem de programação mais antiga que existe. 2
  3. 3. Objetivo• John McCarthy queria mostrar que era possível usar exclusivamente funções matemáticas como estrutura de dados elementares.• Primeira implementação do lisp a uma máquina foi em 1958, durante um projeto de pesquisa para Inteligência Artificial no (MIT) Instituto de tecnologia do Massachussets.• A motivação de McCarthy, surgiu da ideia de desenvolver uma linguagem algébrica para processamento de listas para trabalho em IA (Inteligência Artificial). 3
  4. 4. PRIMEIROS COMUTADORES A USAR O LISP. • IBM 704. • DEC PDP-6. • IBM 7090. • DEP PDP-10. • DEC PDP-1. • O primeiro dialecto do lisp, foi o lisp 1.5, criado entre 1960 a 1965. 4
  5. 5. CARACTERÍSTICAS DO LISP• Lisp é muitas vezes requerido como uma linguagem superior sobre as outras porque tem certas características que são únicas, bem integrada, ou de outra forma útil. • Tipos de dados: átomo e a lista. 5
  6. 6. CARACTERÍSTICA LISP 6
  7. 7. CARACTERÍSTICA LISP• Muitas versões e dialetos: Franz, Mac, Inter, Common e Scheme.• Fraca Tipagem: as variáveis podem ser interpretadas de forma diferente, dependendo do contexto.• Funções de ordem elevada: Linguagens funcionais tipicamente suportam funções de ordem elevada.• Concorrência (multitarefa): é um paradigma de programação para a construção de programas de computador que fazem uso da execução concorrente (simultânea) de várias tarefas computacionais interativas, que podem ser implementadas como programas separados ou como um conjunto de threads criadas por um único programa. 7
  8. 8. CARACTERÍSTICA LISP• Comoom lisp em propósito geral, linguagem de programação multi- paradigma . Ele suporta uma combinação de procedimentos ,funcional e orientada a objetos paradigmas de programação. Como uma linguagem de programação dinâmica , facilita a evolução e desenvolvimento de software adicional , com interativa compilação em tempo de execução de eficientes programas. 8
  9. 9. CARACTERÍSTICA LISP • LISP é frequentemente implementada por um interpretador Usuário entra com uma expressão Interpretador avalia expressão e imprime o resultado. • Lisp Puro contem as seguintes funções primitivas: Car : primeiro elemento de uma lista; Cdr: o que sobra de uma lista tirando o 1º elemento Cons: constrói lista dado um elemento e uma lista; Eql: retorna T se os dois elementos que se seguem são iguais, NIL no caso contrario; Atom: retorna T se elemento que o segue é atômico, NIL em caso contrário. 9
  10. 10. CHACOTA LISP • LISP = Lots of Irritating Stupid Parentheses. • tradução: Montes de Irritantes Parênteses Estúpidos, ou então LISP = Linguagem Infernal Somente de Parênteses. 10
  11. 11. PRINCIPAIS VANTAGENS• Um alto nível de abstração, especialmente quando as funções são utilizadas, suprimindo muitos detalhes da programação e minimizando a probabilidade da ocorrência de muitas classes de erros.• A não dependência das operações de atribuição permite aos programas avaliações nas mais diferentes ordens. Esta característica de avaliação independente da ordem torna as linguagens funcionais as mais indicadas para a programação de computadores maciçamente paralelos.• A ausência de operações de atribuição torna os programas funcionais muito mais simples para provas e análises matemáticas do que os programas procedurais.• O Maxima é um software excelente para matemática simbólica. 11
  12. 12. DESVANTAGENS• Menor eficiência.• Problemas que envolvam muitas variáveis (ex. contas de banco) ou muitas atividades sequenciais são muitas vezes mais fáceis de se trabalhar com programas procedurais ou programas orientados a objeto. 12
  13. 13. APLICAÇÕES REAIS DE COMMON LISP. • Paul Graham escreveu a primeira versão do Yahoo! Store (então chamada Via Web) em Common Lisp. • A primeira implementação de JavaScript no CVS do Mozilla é em Common Lisp. • A ITA Software (agora comprada pelo Google) mantém seus sistemas (de grande porte) em Common Lisp. • O StumpWM é um gerenciador de janelas para Unix, escrito inteiramente em Common Lisp. É possível mudar o código do StumpWM, debugá-lo e fazer qualquer modificação que se queira nele, enquanto ele roda. • NaughtyDog software usou Common Lisp para desenvolver os jogos das séries Jak and Daxter e Crash Bandicoot. 13
  14. 14. REFERÊNCIAS• programacao.wikia.com/wiki/Lisp • pt.wikipedia.org/wiki/Lisp • www2.dc.ufscar.br/~heloisa/PLP2009/LISP • http://www.dca.ufrn.br/~adelardo/lisp/ • http://www.ic.unicamp.br/~meidanis/courses/mc336/2011s2/lisp/apostila- lisp.pdf• http://www.din.uem.br/~ia/ferramen/lisp/ • http://www.inf.ufrgs.br/gppd/disc/cmp135/trabs/soler/texto_lisp.pdf
  15. 15. 15

×