W tym semestrze zaczął mi sie nowy przedmiot - Języki i Pardygmaty Programowania, gdzie na początku uczymy się Haskella. Poniżej kilka zasobów, aby zacząć szybko w nim programować.
Zaczniemy od tego aby zainstalować kompilator GHC z oficjalnego repozytorium. Jeśli nie pracujesz pod Ubuntu, to odwiedź stronę Glasgow Haskell Compiler > Download.
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:hvr/ghc
apt update
apt install ghc-7.10.3
I moglibyśmy już teraz korzystać z kompilatora oraz konsoli interaktywnej ghci
.
Ale nie jest to super wygodne. Ja jestem zwolennikiem pracy w lekkim IDE - np. Visual Studio Code. Daje nam to przegląd plików, kolorowanie składni, dostęp do terminala, czyli wszystko co potrzeba w jednym miejscu.
Następnie zainstalujemy Stack, czyli coś jak npm
dla Haskella (menadżer paczek i projektów).
curl -sSL https://get.haskellstack.org/ | sh
Używając tego narzędzia zaczniemy się przyzwyczajać do pewnej struktury projektów, jaka jest częsta w projektach Haskellowych.
Następnie posłużymy się tym o to poradnikiem o konfiguracji swojego środowiska, aby zainstalować odpowiednie biblioteki i dodatek do VS Code.
# install VS Code
# install Haskell IDE Engine
git clone https://github.com/haskell/haskell-ide-engine
cd haskell-ide-engine
stack install
# install will take a while (you need at least 4GB of RAM)
# open VS Code
code
# install 'haskell language server' VS Code extension
Następnie utworzymy nasz pierwszy projekt. Aby to zrobić musimy podejrzeć plik stack.yaml
i odczytać wartość resolver
. Użyjemy jej jako szablon dla naszych projektów. Chodzi tu o to, że Stack pracuje na ‘snapshotach’, czyli zbiorach paczek, które w danych wersjach na pewno ze sobą współpracują.
stack new --resolver=nightly-2018-02-26 <my project name>
cd <my project name>
stack setup
# Open VS Code in this folder
code .
I możemy zacząć pracować! Na stronie Learn You a Haskell for Great Good! znajdziemy podręcznik nauki Haskella.