Haskell 概要
Dockerを使用したHaskellの環境構築手順 Haskell, Docker, docker-compose
HaskellはWindowsやMacの上に構築することも可能ですが、Dockerコンテナの上で実行することで完全な再現性が得られます。 加えてHaskell自体にもバージョンが存在するため、それらを容易に切り替えるとなおよいでしょう。
Haskellは関数型プログラミング
Haskellは関数型プログラミング言語に分類されますが、 関数型プログラミングは通常のプログラマーが持つ一般的な概念と比較して、ソフトウェアに対する全く異なるアプローチを提供します。
ghc ghci runghc
- ghc : 早いネイティブコードを生成する最適化コンパイラ。ghcで実行する際には、対象ソースをコンパイルした後、出来上がったバイナリファイルを実行する必要があります。
- ghci : 対話型インタプリタ。デバッグやお試しなどで使います。
- runghc : ghcと異なり、コンパイルの手順を踏まずにコードを実行する。2度手間ではないが、遅い。
Haskell 文法基礎
Haskellでの四則演算
Haskellの変数と型一覧
Haskellは関数型プログラミングであるが故、手続き型プログラミングでよくみられる「変数を複数宣言してそれらを管理する」手法は一般的ではありません。
しかし、Haskell言語の中にも型と変数の仕組み自体は存在し、特に型の考え方は重要になります。 この記事ではHaskellの型について深く紹介します。
Haskellのlet whereの使い方 Haskell let where 変数宣言 局所的変数
Haskellの条件分岐
Haskellにおいて、条件文という言葉よりも「条件式」といったほうが適切かもしれません。 条件文という言葉は手続き型言語やオブジェクト指向型言語では使われますが、Haskellにおいては「関数」が第一級オブジェクトとして扱われます。 ifも「if文」というよりは「if式」と表現し、値が返却するという点でも関数と呼んだほうが良いです。
Haskellは数学
Haskellの真骨頂は関数型プログラミングにあります。
関数型プログラミングについては以下の記事で解説していると思いますので、 今回はHaskellの関数の文法についてお話します。
Haskellの関数一覧
Haskell dataコマンドの使い方
Haskellのdata コマンドは既存の型を組み合わせて新しい型を作ることが出来ます。
Haskell classコマンドの使い方
Haskell IO型
Haskellにおける標準入力と標準出力
ほとんどのプログラミングでは副作用は必要不可欠です。 Haskellの世界では純粋なコードの副作用から完全に分離されます。
Haskellでファイルを読み書きする方法【Haskell入門】
Haskellにおいてのファイル読み込みはopenFile
関数を使用します。
子の関数を使用するためには、System.IO
を事前にimportしておく必要があります。
Haskellのモナドの説明
モナドはHaskellのプログラムにおいて、特に入出力回りで活躍する仕組みです。 関数プログラムの本体から副作用を安全に分離することができ、計算戦略をプログラム全体にばら撒くことをせずに、一箇所にまとめることができます。
page:https://minegishirei.hatenablog.com/entry/2023/11/25/093811