ublog

haskell -- встановлення + hello_world

programming [45]haskell [2]

встановимо stack -- це допоміжна утиліта,
вміє розвертати інфраструктуру, збирати проекти, встановлювати бібліотеки etc
$ wget -qO- https://get.haskellstack.org/ | sh

Stack has been installed to: /usr/local/bin/stack


одразу перевіримо версію
$ stack --version

Version 1.9.3, Git revision 40cf7b37526b86d1676da82167ea8758a854953b (6211 commits) x86_64 hpack-0.31.1


розвернемо інфраструктуру останньої стабільної версії (компілятор ghc та інше)
$ stack setup

Installed GHC.                                                            
stack will use a sandboxed GHC it installed
For more information on paths, see 'stack path' and 'stack exec env'
To use this GHC and packages outside of a project, consider using:
stack ghc, stack ghci, stack runghc, or stack exec


створимо проект (під назвою test777 )
$ stack new test777
$ cd test777


відкриємо app/Main.hs
і побачимо як виглядає імпорт іншого модуля (Lib)
та виклик функції з цього модуля (someFunc)
module Main where

import Lib

main :: IO ()
main = someFunc


відкриємо src/Lib.hs
module Lib
    ( someFunc
    ) where

someFunc :: IO ()
someFunc = putStrLn "someFunc"


і замінимо там строчку
someFunc = putStrLn "someFunc"


наступною
someFunc = putStrLn "Hello world 777!"


скомпілюємо
$ stack build


запустимо скомпільоване
stack exec test777-exe


побачимо вивід
Hello world 777!


створити мінімальний шаблон з одного модуля можна наступною командою
$ stack new test789 simple


далі буде :)