LoginSignup
3
0

More than 3 years have passed since last update.

Haskellに入門してみる

Last updated at Posted at 2020-06-04

「関数型プログラミングをやってみたい」と思ったのでHaskellを始めることにしました。

環境はLinux OS(Ubuntu)です。

インストール方法

以下のサイトで自分のOSを選択するとインストール方法が表示されます。
https://www.haskell.org/platform/
Ubuntuの場合は

sudo apt-get install haskell-platform

これでインストールされました。

起動と使い方

以下の記事に使い方がありました。
http://walk.northcol.org/haskell/setup/

対話環境(REPL)を起動する場合ではターミナルで以下のように打ちます。

ghci

書いたスクリプトを実行する場合は

runghc <ファイル名(hsファイル)>

です。これでコンパイルと実行を両方やってくれます。

文法

以下の記事が大変参考になります。
https://qiita.com/7shi/items/145f1234f8ec2af923ef

対話環境で関数の記述するとエラーになりますが、
コードをhsファイルに書いて実行していくことで動かすことが出来ました。

有名なのが以下にある5行でクイックソートする関数ですね。
ただしこの書き方では計算量が多くなるため良くないようです。

num = [2, 10, 3, 4, 7, 12, 8, 5, 6, 1, 11, 9] -- list of number
-- Quick sort on 5 lines
qsort []     = []
qsort (n:xs) = qsort sm ++ [n] ++ qsort lg
    where
        sm = [x | x <- xs, x <  n]
        lg = [x | x <- xs, x >= n]
-- main function
main = do
  print $ qsort num
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0