差分
ナビゲーションに移動
検索に移動
Haskell
,'''Haskell'''(読み:はすける)とは、[[プログラミング言語]]のひとつで、[[非正格]]な評価を特徴とする[[純粋関数型プログラミング言語]]である。
==概要==
Haskellの名称は[[論理学者]]である[[ハスケル・カリー]]に由来する。
Haskellは以下のような特徴的な機能を持つ。
*[[高階関数]]
*[[静的型付け]]かつ[[多相型付け]]
*定義可能な[[演算子]]
*[[例外処理]]といった多くの[[言語]]で採用されている現代的な機能
*[[パターンマッチング]]や[[カリー化]]、[[リスト内包表記]]、[[ガード]]
また、[[遅延評価]]や[[再帰]]的な[[関数]]、[[代数的データ型]]もサポートしている。
さらに独自の概念として[[圏論]]のアイデアを利用し、[[参照透過性]]を壊すことなく[[副作用]]のある操作(例えば [[代入]]、[[入出力]]、[[配列]]など)を実現する[[モナド]]を含む。
このような機能の組み合わせにより、[[手続き型プログラミング言語]]では記述が複雑になるような処理がしばしば簡潔になるばかりではなく、必要に応じて手続き型プログラミングを利用できる。
==歴史==
==関連項目==
*[[Glasgow Haskell Compiler]]
==参考文献==
{{reflist}}
{{stub}}
==概要==
Haskellの名称は[[論理学者]]である[[ハスケル・カリー]]に由来する。
Haskellは以下のような特徴的な機能を持つ。
*[[高階関数]]
*[[静的型付け]]かつ[[多相型付け]]
*定義可能な[[演算子]]
*[[例外処理]]といった多くの[[言語]]で採用されている現代的な機能
*[[パターンマッチング]]や[[カリー化]]、[[リスト内包表記]]、[[ガード]]
また、[[遅延評価]]や[[再帰]]的な[[関数]]、[[代数的データ型]]もサポートしている。
さらに独自の概念として[[圏論]]のアイデアを利用し、[[参照透過性]]を壊すことなく[[副作用]]のある操作(例えば [[代入]]、[[入出力]]、[[配列]]など)を実現する[[モナド]]を含む。
このような機能の組み合わせにより、[[手続き型プログラミング言語]]では記述が複雑になるような処理がしばしば簡潔になるばかりではなく、必要に応じて手続き型プログラミングを利用できる。
==歴史==
==関連項目==
*[[Glasgow Haskell Compiler]]
==参考文献==
{{reflist}}
{{stub}}