Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBruno César Gorjão Alterado mais de 7 anos atrás
1
Linguagem Lógico-Funcional Curry Gabriel Cardoso - 161578 Jeferson Rubert - 171392
2
Sumário ● Introdução ● Características da Linguagem ● Vantagens e Desvantagens
3
Introdução ● Fusão dos paradigmas funcional e lógico ● Iniciativa internacional no desenvolvimento da linguagem ● Por que escolhemos o Curry? ● Interesse criado durante a disciplina em linguagens lógicas ● Exemplos de execução do Curry ● http://www-ps.informatik.uni- kiel.de/~mh/pakcs/curryinput_c2p.cgi http://www-ps.informatik.uni- kiel.de/~mh/pakcs/curryinput_c2p.cgi
4
Características da Linguagem Tipos de Dados:
5
Características da Linguagem Tipos de Dados: Além disso o usuário pode definir qualquer tipo de dado do seu interesse: data Cores = Azul | Verde | Vermelho
6
Características da Linguagem Operações pré-definidas
7
Características da Linguagem Definição usual: square x = x * x square ( 2 + 3 ) Result: 25 ? Função Anônima (\x -> x * x ) ( 2 + 3) Result: 25 ? Funções:
8
Características da Linguagem Funções Não-determinísticas: Preservam aspectos da programação funcional em conjunto com programação lógica Ex.: oncall Joan = Monday oncall Joan = Wednesday oncall Richard = Monday oncall Luc = Tuesday
9
Características da Linguagem available x | oncall x == today = True | otherwise = False Em virtude do Não-determinismo ● Funções mais simples sem a necessidade de estruturas de dados especificas para certos casos
10
Características da Linguagem Where Cria um escopo local para variáveis declaradas dentro da função chamada com Where Let Idem ao Where, diferenciando no fato que caso seja chamada um nova função, essa estará no escopo do Let Definições Locais
11
Características da Linguagem Variável Lógica e Narrowing Não tem tipo definido, só pode ser declarada dentro do escopo de Where ou Let Utilizadas para realizar teste de condição Ex.: z==2+2 where z free
12
Características da Linguagem Range e Comprehensions Ex.: Seleção de elementos de uma lista usando expressões lógicas
13
Características da Linguagem ● Listas ● Strings ● Tuplas ● Avaliação Preguiçosa ● Função de Ordem Maior
14
Vantagens e Desvantagens Vantagens: ● Pode ser utilizada em programação web ● Linguagem acadêmica, voltada ao aprendizado ● Também pode ser utilizada em bancos de dados e XML
15
Vantagens e Desvantagens Desvantagens: ● Muito pouco utilizada ● Pouco material de apoio sobre a linguagem ● Material existente ainda em fase de construção e consolidação
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.