Help us understand the problem. What is going on with this article?

Haskellに入門してみる

「関数型プログラミングをやってみたい」と思ったので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 lt ++ [n] ++ qsort gteq
    where
        lt   = [x | x <- xs, x <  n]
        gteq = [x | x <- xs, x >= n]
-- main function
main = do
  print $ qsort num
takeajioka
DeepLearning E検定2020#1取得。 機械学習や基礎医学系のツール紹介など。 自作したツールはhttps://github.com/atakehiro
http://system-medicine.blog.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした