YU2TA7KA's BLOG ~take one step at a time~

派生開発、組み込み開発周りのこと。

HaskellでHello World

Rustを勉強中なのですが、関数型言語パラダイムが多く関数型プログラミングに少し触れたいなと思い、Haskell環境を構築します。

環境

Ubuntu 18.04.3 LTS

インストール

docs.haskellstack.org

$wget -qO- https://get.haskellstack.org/ | sh
$stack setup

stackはHaskell開発用のプラットフォームツールです。下記が詳しいです。Rustのcargoみたいなものかな。
Haskell Stack とは何をするツールなのか - Qiita

Hello World

$stack new hello #プロジェクト作成。
$stack build #コンパイル
$stack exec hello-exe #実行
someFunc

作成したバイナリは下記に格納されています。
.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/hello-exe/
そして、hello worldになっていないのでコードを修正します。

module Lib
    ( someFunc
    ) where

someFunc :: IO ()
someFunc = putStrLn "Hello World" #"someFunc"を修正

$stack build #コンパイル
$stack exec hello-exe #実行
Hello World