Haskell - Visão geral
Haskell é uma linguagem de programação funcional que foi especialmente projetada para lidar com aplicativos de computação simbólica e processamento de listas. A programação funcional é baseada em funções matemáticas. Além de Haskell, algumas das outras linguagens populares que seguem o paradigma de Programação Funcional incluem: Lisp, Python, Erlang, Racket, F #, Clojure, etc.
Dentro conventional programing, as instruções são tomadas como um conjunto de declarações em uma sintaxe ou formato específico, mas no caso de functional programing, todo o cálculo é considerado uma combinação de funções matemáticas separadas.
Tornando-se funcional com Haskell
Haskell é uma linguagem puramente funcional amplamente usada. Aqui, listamos alguns pontos que tornam esta linguagem tão especial em relação a outras linguagens de programação convencionais, como Java, C, C ++, PHP, etc.
Functional Language- Na linguagem de programação convencional, instruímos ao compilador uma série de tarefas que nada mais são do que dizer ao seu computador "o que fazer" e "como fazer?" Mas em Haskell diremos ao nosso computador "o que é?"
Laziness- Haskell é uma linguagem preguiçosa. Delazy, queremos dizer que Haskell não avaliará nenhuma expressão sem nenhum motivo. Quando o mecanismo de avaliação descobre que uma expressão precisa ser avaliada, ele cria umthunk data structure para coletar todas as informações necessárias para essa avaliação específica e uma indicação para que thunk data structure. O mecanismo de avaliação começará a funcionar somente quando for necessário avaliar aquela expressão específica.
Modularity- Um aplicativo Haskell nada mais é do que uma série de funções. Podemos dizer que um aplicativo Haskell é uma coleção de vários pequenos aplicativos Haskell.
Statically Typed- Na linguagem de programação convencional, precisamos definir uma série de variáveis junto com seu tipo. Em contraste, Haskell é uma linguagem estritamente tipificada. Pelo termo linguagem Strictly Typed, queremos dizer que o compilador Haskell é inteligente o suficiente para descobrir o tipo da variável declarada; portanto, não precisamos mencionar explicitamente o tipo da variável usada.
Maintainability - Os aplicativos Haskell são modulares e, portanto, é muito fácil e econômico mantê-los.
Os programas funcionais são mais simultâneos e seguem o paralelismo na execução para fornecer um desempenho mais preciso e melhor. Haskell não é exceção; foi desenvolvido de forma a lidar commultithreading efetivamente.
Olá Mundo
É um exemplo simples para demonstrar o dinamismo de Haskell. Dê uma olhada no código a seguir. Tudo o que precisamos é de apenas uma linha para imprimir "Hello Word" no console.
main = putStrLn "Hello World"
Assim que o compilador Haskell encontra o trecho de código acima, ele imediatamente produz a seguinte saída -
Hello World
Forneceremos muitos exemplos ao longo deste tutorial para mostrar o poder e a simplicidade de Haskell.