Haskell(ハスケル)とは、純関数プログラミング言語です。遅延評価を基本として静的型付けを行い、メンテナンス性が高く機能的なコードを作成できます。

オープンソースの言語/Haskellとは

Haskell(ハスケル)とは、純関数プログラミング言語です。遅延評価を基本として静的型付けを行い、メンテナンス性が高く機能的なコードを作成できます。

「Haskell」基本情報

概要

Haskell(ハスケル)とは、純関数プログラミング言語です。遅延評価を基本として静的型付けを行い、メンテナンス性が高く機能的なコードを作成できます。

基本説明

Haskellはラムダ計算に基づいている関数型言語であるため、コードは単一の式であり、式を評価することによって実行されます。

Haskellは、「他の言語との統合」「並行性と並列性の組み込み」「デバッガ」「プロファイラ」「豊富なライブラリ」「アクティブなコミュニティとの強力なサポート」などを特徴としており、柔軟でメンテナンス性に優れた高品質ソフトウェアを開発できます。

経緯

「Haskell」という言語名は、論理学者「Haskell B. Curry」の名前が由来です。

TOPに戻る

主な特徴

純粋関数型言語

Haskellは、多くの関数型言語の中でも、関数や再代入による状態変更を副作用として排除する「純粋関数型言語」です。

Haskellにおける「関数」は、数学における「関数」と同じく、引数の値が関数の返り値と一意に対応し不変であるものに限定されます。関数が内部状態を持つことは許可されず、変数の初期値を再代入によって変更できません。プログラムの記述は「等式の左辺は右辺の式へと変換できる」という関係性の定義を列挙していく形になります。

純粋関数型言語「Haskell」のメリット

・代入に伴うバグが存在しない(参照透明性)
・アンチパターンを実装しにくい
・コード生産性の効率化
・「簡潔で」「誤りが少なく」「明確な」「信頼性の高い」コードを記述できる
・プログラムの各部分の実行順序を任意に選択できる
・高度に変更可能で保守が必要なプログラムに特に適している
・関数の連鎖を簡単に融合できる
・関数は引数を評価しないため、関数を記述するだけで制御構文(if/elseなど)を書くことができる
・「探索処理」「構文解析処理」などのコードを比較的簡単に作成できる

アクション

Haskellにおいて、標準入出力などの、Haskellにおける「関数」では行えない処理については「アクション」と呼ばれ、「関数」とは区別されます。両者を同一プログラム内で矛盾を起こさないように共存させる仕組みが提供されています。

静的型指定

Haskellのすべての式は、コンパイル時に決定される型を持ち、関数アプリケーションで一緒に構成されたすべての型は一致する必要があります。

組み込みデータ型として、「整数」「浮動小数点型」「ブール型」「任意の精度の整数」「有理数」など豊富な種類が用意されています。

型推論

Haskellでは「型推論機能」を利用できるため、関数/変数の型宣言について、ある程度の省略が可能です。

Python型インデント記述

Haskellのコードでは、変数/関数のスコープについて、中括弧のような記号は使用せず、Pythonのようにソースコードのインデントの深さで表現されます。

パッケージ

パブリックパッケージサーバ上には、7000以上のHaskell用パッケージが用意されています。

TOPに戻る

同様製品

同様な機能を提供する製品として、次のようなものがあります。

「Clean」「Idris」「Miranda」など。

TOPに戻る

オフィシャルサイト

オフィシャルサイト

→Haskell(An advanced, purely functional programming language)

ライセンス情報

Haskellのライセンスは「修正BSDライセンス・三条項BSDライセンス」です。

詳細について、こちらを参照ください。
→Haskell →The Glasgow Haskell Compiler License

ダウンロード

→Haskell →Downloads

TOPに戻る

参考元サイト

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Haskell最新TOPICS

最新情報はありません。

Haskell最新CLOSEUPコラム

イベント情報

無料資料プレゼント

AI技術の方向性と企業の活用シナリオ

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter