A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Otavio Bergmann e Raphael Miollo Parte 2 – Investigação e apresentação.

Apresentações semelhantes


Apresentação em tema: "Otavio Bergmann e Raphael Miollo Parte 2 – Investigação e apresentação."— Transcrição da apresentação:

1 Otavio Bergmann e Raphael Miollo Parte 2 – Investigação e apresentação

2 2.1.1 – Quem criou a linguagem? LISP foi inventado por John McCarthy em 1958, enquanto ele estava no Instituto de Tecnologia de Massachusetts(MIT). McCarthy publicou um artigo onde ele mostra que com alguns operadores simples e uma notação para funções é possível construir uma linguagem Turing para algoritmos. John McCarthy (1927-2011)

3 2.1.2 – Qual a motivação para a criação da linguagem? Os motivação para criação de LISP, segundo McCarthy era desenvolver uma linguagem algébrica para o processamento de listas para trabalho com IA(inteligência artificial). 2.1.3 – Em que ano foi criada e como evoluiu a linguagem? LISP foi criada em 1958 e sua evolução foi de grande importância para as linguagens que surgiram posteriormente. Durante 1980s e 1990s, um esforço grande foi feito e surgiram numerosos dialetos do lisp(interlisp, Maclisp, ZetaLisp). Lisp influenciou pesadamente o inventor de SmallTalk.

4 2.1.4 - A linguagem é usualmente implementada via interpretador, compilador, ou ambos? A linguagem LISP é interpretada, onde o usuário digita em uma linguagem formal definida e recebe de volta a avaliação de sua expressão. LISP é implementada via interpretador, porem todos os dialetos de LISP tem compiladores. Em algus dialetos o compilador é uma função que pode invocar a partir de código normal para transformar uma lista numa função invocável.

5 2.1.5 – Informe nomes, versões, URLs e descrições de duas implementações da linguagem. FranzLisp (http://en.wikipedia.org/wiki/Franz_Lisp) InterLisp (http://c2.com/cgi/wiki?InterLisp) ZetaLisp (http://wiki.alu.org/ZetaLisp) Scheme ( http://groups.csail.mit.edu/mac/projects/scheme/) LeLisp (http://lelisp.org/) AutoLisp (http://pt.wikipedia.org/wiki/AutoLISP) MacLisp (http://c2.com/cgi/wiki?MacLisp)

6 Algumas coisas que LISP trouxe: Uso de condicionais (if-then-else); Garbage Colletor; Recursividade; Tipos de dados; Variáveis são tratadas como ponteiros; Alguns fatos: o O nome LISP vem de List Processor; A primeira plataforma de popular para desenvolvimento de lojas virtuais, a ViaWeb foi inteiramente desenvolvida em LISP; LISP é a principal linguagem usada em estudos de inteligência artificial;

7 Prós: Programas mais concisos; Programas próximos de uma especificação matemática; Permite decompor problemas em componentes reutilizáveis; Contras: o Alguns algoritmos são mais eficientes quando implementados de forma imperativa; o Difícil de prever os custos de execução; o Compiladores/interpretadores mais complexos.

8 Funções de alta ordem podem receber como parâmetro ou retornar funções. Alguns exemplos são: Mapear, Filtrar, Reduzir. Ex: >map sqrt[100, 9, 25, 16] A função acima pega cada elemento da lista e obtém a sua raiz quadrada. Saída: [10, 3, 5, 4] 100 Map sqrt 9 2516 10 3 54 100 92516 Entrada Saída

9

10 Implementação do algoritmo de ordenação quicksort com haskell. Exemplo em C void qsort(int a[], int lo, int hi) { int h, l, p, t; if (lo < hi) { l = lo; h = hi; p = a[hi]; do { while ((l < h) && (a[l] <= p)) l = l+1; while ((h > l) && (a[h] >= p)) h = h-1; if (l < h) { t = a[l]; a[l] = a[h]; a[h] = t; } } while (l < h); a[hi] = a[l]; a[l] = p; qsort( a, lo, l-1 ); qsort( a, l+1, hi ); } Exemplo em Haskell qsort [] = [] qsort (x:xs) = qsort (filter ( = x) xs)


Carregar ppt "Otavio Bergmann e Raphael Miollo Parte 2 – Investigação e apresentação."

Apresentações semelhantes


Anúncios Google