「Haskellとはなんぞや?」という疑問が浮かんできたので調べてみた。
「2013年注目技術マップを箇条書きにまとめてみた」という記事にまとめたプログラミング関連の言葉の中に「Haskell」というウッスラと聞いたことがある言葉があったのですが、詳しくは把握していないので調べてみました。
Haskell(ウィキペディア)
Haskell(ハスケル)は非正格な評価を特徴とする純粋関数型プログラミング言語である。名称は論理学者であるハスケル・カリーに由来する。
Haskell は高階関数や静的多相型付け、定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングやカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。また、遅延評価や再帰的な関数や代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作(例えば 代入、入出力、配列など)を実現するモナドを含む。このような機能の組み合わせにより、手続き型プログラミング言語では記述が複雑になる関数でも Haskell ではたいていは実装が容易になる。
(引用:Haskell - Wikipedia)
> 難しい専門用語だらけで正直サッパリわからないわけですが、ノンプログラマ的には辞書を片手に用語の意味を調べながら解読しないといけないレベルです。苦笑
「Haskell」公式サイトより
公式サイトは英文なので、いつものように「Google翻訳」を駆使して、公式サイトの文章を日本語に訳してみました。わかる人にはわかる、わからない人はわからない、そんな文章になっています。
(原文)Haskell is a computer programming language. In particular, it is a polymorphically statically typed, lazy, purely functional language, quite different from most other programming languages. The language is named for Haskell Brooks Curry, whose work in mathematical logic serves as a foundation for functional languages. Haskell is based on the lambda calculus, hence the lambda we use as a logo.
(Google翻訳)Haskellはコンピュータプログラミング言語です。特に、それは他のほとんどのプログラミング言語とは全く異なる、ポリモーフィック静的に型付けさ、怠惰な、純粋関数型言語です。言語は、その作品数理論理学での関数型言語のための基盤として機能ハスケル·ブルックスカレー、にちなんで命名されている。 Haskellのはそれゆえラムダ計算、我々はロゴとして使用ラムダに基づいています。
> 要するに「関数型プログラミング言語」ということですよね。そこだけはっきりとわかりました。笑
Haskellの参考記事
Haskellに関してググって調べている時に、Haskell初心者の参考になりそうな記事をいくつか見つけたのでメモしておきます。
M.Hiroi's Home Page / Haskell Programming
本物のプログラマはHaskellを使う - 本物のプログラマはHaskellを使う:ITpro
Haskellの参考書籍
まだHaskellに関する書籍は豊富じゃないみたいですが、一から学びたいHaskell初心者にはこの書籍が一番良い気がします。
- 作者: Miran Lipovača,田中英行,村主崇行
- 出版社/メーカー: オーム社
- 発売日: 2012/05/23
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 580回
- この商品を含むブログ (51件) を見る
(Amazonの商品紹介より)
丁寧な解説とポップな例題で本物のHaskellプログラミングを習得できる入門書。原書の"Learn You a Haskell for Great Good!"は、型、遅延評価、モナドといった難しい概念にも自然に慣れていけるよう工夫された構成、他の言語経験者への配慮に加え、原著者による楽しいイラストによって、もっとも分かりやすいHaskell本として、高く評価されています。