Haskell
[Wikipedia|▼Menu]

HaskellHaskellのロゴ
パラダイム関数型プログラミング、純粋関数型言語、非正格プログラミング言語 
登場時期.mw-parser-output .plainlist--only-child>ol,.mw-parser-output .plainlist--only-child>ul{line-height:inherit;list-style:none none;margin:0;padding-left:0}.mw-parser-output .plainlist--only-child>ol li,.mw-parser-output .plainlist--only-child>ul li{margin-bottom:0}

1990年 

開発者ポール・ヒューダック、レナート・オーガストソン、John Hughes、サイモン・ペイトン・ジョーンズ、エリック・マイヤー、Philip Wadler 
最新リリースHaskell 2010 / 2010年6月[1]
型付け強い静的型付け
主な処理系GHC、Hugs、 ⇒NHC、 ⇒JHC、Yhc
影響を受けた言語LISPMLMiranda、Orwell、Lazy ML、Clean 
影響を与えた言語Factor
プラットフォームMicrosoft WindowsUnix系 
ウェブサイトwww.haskell.org
拡張子hs、lhs 
テンプレートを表示

プログラミング言語>>他のプログラミング言語

カテゴリ / テンプレート

Haskell(ハスケル)は非正格な評価を特徴とする純粋関数型プログラミング言語である。名称は数学者であり論理学者であるハスケル・カリーに由来する。
概要

Haskell は高階関数静的多相型付け定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。また、遅延評価再帰的な関数代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作(例えば 代入入出力配列など)を実現するモナドを含む。このような機能の組み合わせにより、手続き型プログラミング言語では記述が複雑になるような処理がしばしば簡潔になるばかりではなく、必要に応じて手続き型プログラミングを利用できる。

Haskell は関数型プログラミングの研究対象として人気が高い。あわせて Parallel Haskell と呼ばれるマサチューセッツ工科大学グラスゴー大学によるものをはじめ、他にも Distributed Haskell[2] や Eden といった分散バージョン、Eager Haskell と呼ばれる投機的実行バージョン、Haskell++ や O'Haskell、Mondrian といったオブジェクト指向バージョンも複数存在しているなど、いくつもの派生形が開発されてきている。

GUI開発向けサポートの新しい方法を提供する、Concurrent Clean と呼ばれる Haskell に似た言語もある。Haskell と Concurrent Clean の最大の違いは、モナドを代用する一意型の採用である。

Haskell は比較的小規模なユーザコミュニティを持つが、その力はいくつかのプロジェクトで十分に生かされてきた。オードリー・タンによる Pugs は Perl6インタプリタコンパイラの実装で、書くのにたったの数ヶ月しかかからなかったなど Haskell の有用性を証明するものである(現在は開発停止)。Darcs はさまざまな革新的な機能を含むリビジョンコントロールシステムである。Linspire Linux は Haskell をシステムツール開発に選択した。

Haskell の急速な進化は今も継続しており、Glasgow Haskell Compiler(GHC)は現在の事実上の標準の処理系であるといえる。

ICFP Programming Contestでは2001、2004、2005、2010、2013、2014、2015、2016年に最優秀賞に選ばれている。

Cabal(英語版) は Haskell 用のビルドおよびパッケージングシステムである。Cabal を利用して Haskell ライブラリのアーカイブである Hackage を参照して、新たなパッケージを簡単にインストールすることもできる。しばしばパッケージの依存地獄(英語版)が発生しがちだが、それらを解決するため、Stack(英語版)という環境も有志によって提供されている。
歴史

1985年、遅延関数言語である Miranda がリサーチ・ソフトウェア社によって発表された。1987年にはこのような非正格な純粋関数型プログラミング言語が十二以上存在していたが、そのうち最も広く使われていた Miranda はパブリックドメインではなかった。オレゴン州ポートランドで開催された Functional Programming Languages and Computer Architecture (FPCA '87) において開かれた会議中に、遅延関数型言語のオープンな標準を作成するための委員会が発足されるべき、という強い合意が参加者のあいだで形成された。委員会の目的は、関数型言語のデザインにおける将来の研究のための基礎として役立つ共通のものへと、既存の関数型言語を統合することであった[3]


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:74 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef