マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Haskell

【OSS情報アーカイブ】Haskell

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Haskell」とは

「Haskell」基本情報

概要

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

基本説明

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

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

経緯

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

主な特徴

純粋関数型言語

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

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

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

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

アクション

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

静的型指定

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

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

型推論

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

Python型インデント記述

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

パッケージ

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

同様製品

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

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

オフィシャルサイト

オフィシャルサイト

→Haskell(An advanced, purely functional programming language)

ライセンス情報

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

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

ダウンロード

→Haskell →Downloads

参考元サイト

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

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。