GNU/Linux >> Linux の 問題 >  >> Linux

Haskellプログラミング言語入門

Haskell は、高度で純粋関数型の汎用プログラミング言語です。このガイドでは、Haskellをインストールする方法と、UnixライクなオペレーティングシステムでHaskellプログラミング言語を使い始める方法について説明します。 Haskellは3つの方法でインストールできます。手動でインストールし、スタックを使用し、Haskellプラットフォームを使用します。スタックを使用してHaskellをインストールすることは、これまでのところ公式に推奨されている最も簡単な方法です。このガイドでは、Haskellをインストールする方法と、UnixライクなシステムでHaskellプログラミング言語を使い始める方法を説明します。

Haskellツールスタックをインストールする

Haskell Tool Stackは、Haskellプロジェクトを構築するためのクロスプラットフォームプログラムです。 Haskell Stackを使用すると、Haskellの包括的な開発環境を利用できます。 Haskellツールスタックを使用すると、次のコンポーネントを簡単にインストールできます。

  • スタック :マルチパッケージHaskellプロジェクトのプロジェクトビルダー
  • GHC :Haskellプログラム用のコンパイラとインタプリタ
  • ハドック :Haskellパッケージ用のドキュメントジェネレータ
  • そして何千ものパッケージをオンデマンドでインストールできます。

まず、コマンドを使用してHaskellスタックをインストールしましょう:

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

または、

$ curl -sSL https://get.haskellstack.org/ | sh

上記のコマンドは、最新のStackバージョンをダウンロードして、すぐにインストールします。

これらのコマンドは、ほとんどすべてのLinuxディストリビューションとFreeBSDで同じです。ただし、Archコミュニティは[コミュニティ]で公式バージョンを維持しています リポジトリ。したがって、Arch LinuxやArchベースのシステムを実行している場合は、次のコマンドを実行して、最新の安定したStackバージョンをインストールしてください。

$ sudo pacman -S stack

インストールしたら、次のコマンドを実行して、PATH環境変数に $ HOME / .local / binを含めるように設定します。 :

$ echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc

次のコマンドを使用して、〜/.bashrcファイルに加えられた変更を更新します。

$ source ~/.bashrc

インストールされているStackのバージョンを見てみましょう:

$ stack --version
Version 1.6.1, Git revision f25811329bbc40b0c21053a8160c56f923e1201b (5435 commits) x86_64 hpack-0.20.0

いつでもスタックを更新するには、次を実行するだけです:

$ stack upgrade

パッケージインデックスを更新するには、次のコマンドを実行します:

$ stack update

Stackをインストールしました。先に進んで、新しいプロジェクトを作成しましょう。

新しいプロジェクトの設定

新しいプロジェクトを進めるには、haskellソースコード、package.yaml、stack.yaml、.cabalファイルなどのファイルとその他のいくつかのディレクトリが必要です。これらのファイルは手動で作成できます。ただし、Haskellには多くの事前定義されたテンプレートがあります。したがって、手動で作成する代わりに使用できます。

使用可能なすべてのテンプレートを一覧表示するには、次を実行します:

$ stack templates

次に、「ostechnix」という新しいプロジェクトを作成します。 「new-template」を使用します 。これを行うには、次を実行します:

$ stack new ostechnix new-template

サンプル出力は次のようになります:

Downloading template "new-template" to create project "ostechnix" in ostechnix/ ...

The following parameters were needed by the template but not provided: author-email, author-name, category, copyright, github-username
You can provide them in /home/sk/.stack/config.yaml, like this:
templates:
 params:
 author-email: value
 author-name: value
 category: value
 copyright: value
 github-username: value
Or you can pass each one as parameters like this:
stack new ostechnix new-template -p "author-email:value" -p "author-name:value" -p "category:value" -p "copyright:value" -p "github-username:value"

Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- ostechnix/

Selecting the best among 12 snapshots...

Downloaded lts-10.0 build plan. 
Populated index cache. 
* Matches lts-10.0

Selected resolver: lts-10.0
Initialising configuration using resolver: lts-10.0
Total number of user packages considered: 1
Writing configuration to file: ostechnix/stack.yaml
All done.

GHCのインストール

新しく作成されたプロジェクトのディレクトリに移動し、「stack setup」を実行して、必要なコンパイラをダウンロードしてインストールします。

$ cd ostechnix/
$ stack setup

このコマンドは、正しいGHCコンパイラを新しいHaskellプロジェクトにインストールします。 GHCは隔離された場所に設置されます。つまり、これはシステムレベルのインストールに干渉しません。

GHCはグローバルスタックルートディレクトリにインストールされることに注意してください。したがって、コマンド ghcを使用してシェルから呼び出すことはできません。 。代わりに、次の使用を検討してください: stack ghc スタックghci スタックrunghc 、または stack exec 。パスの詳細については、次を実行してください:

$ stack path

および..

$ stack exec env

これで、新しいプロジェクトが作成され、プロジェクトに適切なコンパイラがインストールされました。それを構築する時が来ました。

プロジェクトの構築

プロジェクトをビルドするには、次を実行します:

$ stack build

このコマンドは、プロジェクトのディレクトリ内で実行してください。ビルドが完了したら、次のコマンドを使用して実行可能ファイルを実行します。

$ stack exec ostechnix-exe

サンプル出力は次のようになります:

someFunc

実行可能ファイル「ostechnix-exe」は./。stack-workに非表示になることに注意してください プロジェクトのメインディレクトリ内のディレクトリ。

Haskellで遊ぶ

ghciコンパイラを開きます:

$ stack exec ghci

または、

$ stack exec -- ghci

ghciプロンプトが表示されます。

GHCi, version 8.2.2: http://www.haskell.org/ghc/ :? for help
Prelude>

他のみんなと同じように、「helloworld!」から始めましょう。

Prelude> "hello world!"
"hello world!"

算術演算を試してみましょう。

Prelude> 14+90
104
Prelude> 14-90
-76
Prelude> 34/2
17.0

いくつかの複雑な操作:

Prelude> (67*98) - 50 - (24-2)
6494

どちらの数字が大きいか小さいかを調べてみましょう:

Prelude> max 34 17
34
Prelude> min 45 98
45

後継者を探す:

Prelude> succ 89
90

指定された入力が等しいかどうかを確認します:

Prelude> 10 == 10
True
Prelude> 10 == 20
False
Prelude> "ostechnix" == "ostechnix"
True
Prelude> "ostechnix" == "windows"
False

以下のようなブール値を使用することも簡単です:

Prelude> True && False
False
Prelude> True && True
True
Prelude> False || True
True
Prelude> False && False
False

デフォルトでは、プロンプト名は Prelude>です。 。次のように入力して、これを他の何か、たとえばghci>に変更できます。

:set prompt "ghci> "

ヘルプが必要な場合は、次のように入力してください:

:?

終了するには、次のように入力します:

:quit

または、

:q

プロジェクトのディレクトリを作成する必要がないことに注意してください。シェルから「stackghci」を実行するだけで、Stackの操作を開始できます。正しいGHCバージョンがダウンロードされ、プレリュード>にアクセスします。 プロンプト。

Haskellコードのコンパイルと実行

Haskellコードを実行するのは簡単です。次の例を確認してください。

"ostechnix.hs"というファイルを作成します 以下の内容で。

#!/usr/bin/env stack
-- stack --install-ghc runghc

main :: IO ()
main = putStrLn "Welcome To OSTechNix"

これで、コマンドを使用してこのプログラムを実行できます:

$ stack ostechnix.hs 
Welcome To OSTechNix

別の例を示します。

myhaskell.hsという名前のhaskellプログラムを作成します 次のコードで:

module Main where

main :: IO ()
main = putStrLn "Welcome To OSTechNix!"

次に、コマンドを使用してコンパイルします:

stack exec -- ghc myhaskell.hs -o test.hs

サンプル出力は次のようになります:

[1 of 1] Compiling Main ( myhaskell.hs, myhaskell.o )
Linking ostechnix.hs ...

最後に、以下に示すように実行します。

$ ./test.hs 
Welcome To OSTechNix!

基本について説明しました。学ぶことはもっとたくさんあります! Haskellプログラミングの詳細に興味がある場合は、以下のリソースを参照して、Haskellを基本から上級レベルまで学習してください。

  • Haskellチュートリアル
  • Learnyouhaskell
  • 実世界のハスケル
  • ブラウザでHaskellを試してみてください
  • Haskell公式ウィキ

Linux
  1. Zshの使用を開始する

  2. 相互運用性のためのSambaの使用開始

  3. 方法:Ansibleを使い始める

  1. lsの使用を開始する

  2. LinuxでPostgreSQLを使い始める

  3. LinuxでSSHを使い始める

  1. GnuCashの使用を開始する

  2. Etcher.ioを使い始める

  3. 正規表現を使い始める