Skip to content

Commit 674cc97

Browse files
authored
Merge pull request #55 from mvbTuratti/main
adicionado resumo
2 parents cddef7e + 721f820 commit 674cc97

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

matheusturatti/textos/resumo.md

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
##Resumo aula dia 17, Matheus Turatti - Haskell
2+
3+
##Gleam
4+
5+
É uma linguagem recente, criada em 2019, que utiliza o Erlang BEAM, criada pelo britânico Louis Pilfold, a linguagem atualmente encontra-se na sua versão beta.
6+
Gleam é uma linguagem funcional, estaticamente tipada, todas as estruturas de dados são imutáveis, porém a linguagem não é puramente funcional.
7+
Louis criou a linguagem em cima de quatro pilares: segurança, amigável, performática e Erlang.
8+
Gleam une a segurança de um robusto sistema de tipos estáticos com a confiabilidade da BEAM.
9+
O compilador da Gleam tem como objetivo oferecer feedbacks claros e úteis sobre qualquer tipo de problema encontrado.
10+
Gleam foi construída em cima da máquina virtual do Erlang e traz consigo toda a otimização oferecida por ela e ao mesmo tempo busca tornar o uso de códigos escritos em outras linguagens BEAM o mais fácil possível.
11+
12+
##Purescript
13+
14+
É uma linguagem transpilada para Javascript, no qual um programa escrito em Purescript é primeiramente transformado em Javascript para então ser compilado JIT como tal.
15+
Foi criado em 2013 por Phil Freeman, atualmente a linguagem é open source e contém 138 contrubintes, deles 3 são empresas.
16+
A linguagem é definida como puramente funcial, ela é eager language, fortemente tipada, inspirada em Haskell, é case sensitive e identation sensitive.
17+
Como foi inspirada em Haskell, a linguagem dispensa parenteses para definições e chamadas de funções, possui Structs disponíveis para uso.
18+
Purescript possui um compilador iterativo chamado Spago repl, similar a ferramenta iex de Elixir, contudo é necessário importar Prelude.
19+
Prelude é um módulo que contém as operações mais básicas aritméticas, sem ele não é possível sequer realizar operações simples de cálculo.
20+
21+
##Miranda
22+
23+
Uma linguagem puramente funcional, declarativa de avaliação preguiçosa de tipagem forte e estática.
24+
Criada em 1985, foi criada por David Turner e desenvolvida pela empresa Research Software Ltd.
25+
Atualmente a lingua não é mais desenvolvida e parece ter um foco voltado aos fundamentos básicos de um paradigma funcional.
26+
Miranda funciona através de scripts, onde a ordem das funções não é relevante.
27+
Possui como estruturas internas listas encadeadas e tuplas, em que não é permitido misturar tipos diferentes numa mesma lista e tupla permite mais que dois elementos de tipos diferentes.
28+
Através do comando mira é possível ativar o shell interativo do Miranda.
29+
Através de arquivos de script é possível concatenar variáveis e funções e criar um novo programa desordenado.
30+
31+
##Clojure
32+
33+
Uma linguagem feita em dialeto de Lisp, criado para funcionar na JVM, o ambiente de bytecode de Java.
34+
Criada por Rich Hickey, atualmente é mantida por Cognitect, sua versão atual é 1.10.0.
35+
Sua estrutura dialético Lisp, é feita em bases de listas, composta por uma invocação com uso de parenteses, uma função e seus argumentos.
36+
Clojure não é puramente funcional, pois chamadas de funções podem resular em efeitos colaterais em suas invocações.
37+
Como linguagem funcional, tudo é uma expressão e em sua maioria evita efeitos colaterais para poder melhor usufruir de cálculos simultanêos.
38+
Possui uma boa interoperabilidade com Java, pois foi criada em cima da JVM.
39+
Seu compilador interativo é chamado REPL, cuja funcionalidade é semelhante aos iex do Elixir.
40+
41+
##Elm
42+
43+
Uma linguagem de tipos inferidos que busca eliminar erros que ocorrem em tempo de execução.
44+
Elm é uma linguagem funcional que compila para JavaScript, útil ao considerar que boa parte da web utiliza JavaScript atualmente.
45+
Criada por Evan Czaplicki em 2012, foi consequência de uma tese de conclusão de curso para unir paradigma funcional no escopo de interfaces gráficas.
46+
Possui um repositório aberto no github e atualmente contém 5 colaboradores, responsáveis por evoluir a linguagem.
47+
Entre suas principais funcionalidades se encontra estruturas de dados persistentes e interoperabilidade HTML, CSS e JavaScript.
48+
Também usufrui de uma arquitetura própria, em que um programa Elm é dividido em três partes: Model, View e Update
49+
Model é o estado da aplicação, View é uma função que transforma o Model em HTML e Update são funções que atualizam o Model com base em mensagens passadas em tempo de execução.
50+
Possui tipagem estática e tipos inferidos, contudo possui sistemas de anotação para ajudar na legibilidade de código.

0 commit comments

Comments
 (0)