53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
|
---
|
||
|
title: Haskell
|
||
|
localeTitle: Haskell
|
||
|
---
|
||
|
## O que é o Haskell?
|
||
|
|
||
|
Haskell é uma linguagem de programação padronizada, de uso geral e puramente funcional, com tipagem estática declarativa e forte.
|
||
|
|
||
|
Haskell tem raízes profundas na matemática, e você logo aprenderá a apreciar as implicações disso.
|
||
|
|
||
|
## Versão
|
||
|
|
||
|
Atualmente a versão mais recente do GHC é 8.6 (em 12 de outubro de 2018)
|
||
|
|
||
|
## Instalação
|
||
|
|
||
|
A maneira recomendada de instalar o Haskell é usando stack: [stack download](https://docs.haskellstack.org/en/stable/README/#how-to-install) Stack é um programa multi-plataforma para o desenvolvimento de projetos Haskell. Destina-se a Haskellers novos e experientes.
|
||
|
|
||
|
Para realmente começar a usar o Haskell, você precisa do GHC (The Glasgow Haskell Compiler), para configurar: [stack setup](https://docs.haskellstack.org/en/stable/README/#how-to-install://docs.haskellstack.org/en/stable/README/#quick-start-guide)
|
||
|
|
||
|
```shell
|
||
|
stack new my-project
|
||
|
cd my-project
|
||
|
stack setup
|
||
|
stack build
|
||
|
stack exec my-project-exe
|
||
|
```
|
||
|
|
||
|
Uma palavra de cautela, tente não usar a instalação da pilha embora ele instale o pacote globalmente, isso não é recomendado, pois versões diferentes de pacotes são compatíveis com versões diferentes do GHC. Portanto, usar a cópia local do pacote usando a compilação da pilha é a melhor maneira de seguir.
|
||
|
|
||
|
## Olá Mundo
|
||
|
|
||
|
```haskell
|
||
|
main :: IO ()
|
||
|
main = print "Hello Haskell :)"
|
||
|
```
|
||
|
|
||
|
Salve o código acima em um arquivo chamado "hello.hs" e salve.
|
||
|
|
||
|
Para compilar o exemplo Hello World, isso converterá nosso código haskell em bytecodes compreensíveis por máquina.
|
||
|
|
||
|
```shell
|
||
|
stack ghc hello.hs
|
||
|
./hello
|
||
|
```
|
||
|
|
||
|
## Documentação
|
||
|
|
||
|
O Hackage fornece documentação para o Haskell
|
||
|
|
||
|
## Quer aprender mais?
|
||
|
|
||
|
* Haskell wiki [link](https://wiki.haskell.org/Haskell)
|