Návody na spravádzkovanie podporných nástrojov Text je rozdelený do nasledujúcich častí: 1. Všeobecné tipy a triky 2. Používanie HLint-u 3. Inštalácia HLint-u Manuál predpokladá, že máte nainštalovaný nástroj cabal (v ľubovoľnej verzii) a aspoň 0.5 GB miesta v domovskom adresári (pre inštaláciu do profilu). Žiaden príkaz tu zmienený nepúšťajte, pokiaľ mu nerozumiete. Môžete prísť o dáta. Všeobecné tipy a triky Pomocou užívateľských makro-súborov GHCi je možné upraviť si správanie interpretru podľa svojich predstáv. Ukážkový súbor nájdete v informačnom systéme. Stačí si ho uložiť pod menom ~/.ghc/ghci.conf. Súbor je komentovaný a relatívne prehľadný. Mení výchdzí prompt a definuje nové prípazy :pwd, :ls, :grep, :redir a :hlint. Tento príkaz spúšťa nástroj hlint na poslednom načítanom užívateľskom skripte a výsledok zobrazí priamo do interpertru. Očakáva súbor s dodatočnými pravidlami na ~/.ghc/HLint.hs. GHCi po spustení vykoná obsah súboru ~/.ghc/ghci.conf, ale to iba v prípade, že tak súbor ako aj rodičovská zložka nie sú zapisovateľné pre iných užívateľov ako toho, ktorý GHCi spustil (takto užívateľa chráni pred spustením potenciálne cudzieho kódu). Je teda potrebné odstrániť právo zápisu pre skupinu aj ostatných pre zložku ~/.ghc aj súbor ~/.ghc/ghci.conf: $ chmod go-w ~/.ghc/ ~/.ghc/ghci.conf Pokiaľ máte neopraviteľne rozbitý cabal a lokálne dáta pre ghc, môžete zmazať celú lokálnu databázu balíkov a začať od začiatku. Cabal udržiava všetky stiahnuté balíky v ~/.cabal/, GHC má databázu dostupných balíkov v ~/.ghc/. $ rm -rf ~/.cabal/ ~/.ghc/ Niektoré balíky vytvárajú spustiteľné binárky. Tieto sú štandardne uložené v ~/.cabal/bin/. Je nutné si túto cestu pridať do premennej PATH, aby systém potrebné binárky našiel. Poznámka: Aj keď sa tradične odporúča dopĺňať cesty na koniec premennej PATH, my pridávam cestu na začiatok, aby sme uprednostnili lokálnu verziu systému cabal (v prípade že si ju aktualizujeme priamo zo zdroja). Cestu si nastavíte nasledovne: $ PATH="$HOME/.cabal/bin:$PATH" $ export PATH Ak chcete, aby sa cesta nastavila automaticky po spustení terminálu, môžete si pridať do súboru ~/.bashrc nasledovné riadky: if [ -d "$HOME/.cabal/bin" ]; then PATH="$HOME/.cabal/bin:$PATH" export PATH fi 1 Ekvivalent konfiguračných zložiek GHC (~/.ghc) a cabal (~/.cabal) je Windowsové prostredie sú zložky %APPDATA%/ghc a %APPDATA%/cabal. Na Windowse je tiež potrebné upraviť cestu k užívateľským definíciám HLint-u v súbore ghci.conf (3. riadok od konca) tak, aby zodpovedala realite (Windows nemá expanziu tildy na adresu domovského adresára). V prípade problémov so zobrazovaním farebného výstupu vo vašom termináli (výstup HLint-u vyzerá v poriadku, ale samotné návrhy sú nečitateľné) je možné zo skriptu ghci.conf odstrániť prepínač --color (3. riadok od konca). Používanie HLint-u HLint vám ponúka tipy na vylepšenie vášho zdrojového kódu. V základom nastavení stačí zadať súbor so zdrojovým kódom ako argument: $ hlint MyCode.hs No suggestions Je možné použiť vlastný súbor s dodatočnými kontrolami. Jeho cestu stačí uviesť za prepínačom --hint $ hlint --hint ~/.ghc/HLint.hs MyCode.hs No suggestions Súbor s dodatočnými pravidlami, ktorý bude použitý na kontrolu vašich domácich úloh nájdete pod menom Hlint.hs v Informačnom systéme. Inštalácia HLint-u Ak je to čo i len trochu možné, inštalujte HLint priamo z repozitára distribúcie, ktorú používate (ušetríte si mnoho potenciálnych problémov a diskového miesta). Ak ste sa rozhodli zostaviť si HLint sami do užívateľského profilu (alebo ste na Windowse a binárky nie sú k dispozícií), postupujte podľa návodu nižšie. Pred inštaláciou Hlint-u je vhodné aktualizovať samotný balíčkovací nástroj cabal. Aktualizáciu databáze balíkov a inštaláciu balíka cabal-install urobíte nasledovne: $ cabal update Downloading the latest package list from hackage.haskell.org $ cabal install cabal-install Resolving dependencies... ... Od teraz by ste mali používať lokálnu (aktualizovanú) verziu nástroja cabal. Spúšťanú verziu môžete skontrolovať pomocou príkazu which: $ which cabal ~/.cabal/bin/cabal Hlint vyžaduje binárku generátora parsrov (syntaktických analyzátorov) Happy. Tento nástroj nainštalujete pomocou: $ cabal install happy Resolving dependencies... ... 2 Ak prebehla inštalácia v poriadku, nechajte nainštalovať nástroj Hlint: $ cabal install hlint Resolving dependencies... ... Teraz by ste mali mať k dispozícií binárku hlint, ktorou môžete kontrolovať vlastné zdrojové kódy. $ which hlint ~/.cabal/bin/hlint 3