Haskell-overview

提供:Dev Guides
移動先:案内検索

Haskell-概要

Haskellは、記号計算およびリスト処理アプリケーションを処理するために特別に設計された関数型プログラミング言語です。 関数型プログラミングは数学関数に基づいています。 Haskell以外にも、関数型プログラミングのパラダイムに従う他の一般的な言語には、Lisp、Python、Erlang、Racket、F#、Clojureなどがあります。

  • 従来のプログラミング*では、命令は特定の構文または形式の宣言のセットとして扱われますが、*機能的なプログラミング*の場合、すべての計算は個別の数学関数の組み合わせと見なされます。

Haskellで機能する

Haskellは、広く使用されている純粋に機能的な言語です。 ここで、この言語をJava、C、C ++、PHPなどの他の従来のプログラミング言語よりも特別なものにするいくつかのポイントをリストアップしました。

  • 関数型言語-従来のプログラミング言語では、コンパイラに一連のタスクを指示します。これらのタスクは、コンピュータに「何をするか」および「どのように行うか」を伝えることです。しかし、Haskellでは、コンピューターに「それは何ですか?」
  • *怠azine *-Haskellは怠zyな言語です。 *怠y *とは、Haskellが理由なしに式を評価しないことを意味します。 評価エンジンは、式を評価する必要があると判断すると、*サンクデータ構造*を作成して、その特定の評価に必要なすべての情報とその*サンクデータ構造*へのポインタを収集します。 評価エンジンは、その特定の式を評価する必要がある場合にのみ機能を開始します。
  • モジュール性-Haskellアプリケーションは、一連の機能に他なりません。 Haskellアプリケーションは、多数の小さなHaskellアプリケーションのコレクションであると言えます。
  • Statically Typed -従来のプログラミング言語では、一連の変数とそのタイプを定義する必要があります。 対照的に、Haskellは厳密に型指定された言語です。 用語「厳密に型指定された言語」とは、Haskellコンパイラーが宣言された変数の型を把握するのに十分にインテリジェントであることを意味します。したがって、使用される変数の型を明示的に述べる必要はありません。
  • 保守性-Haskellアプリケーションはモジュール式であるため、保守が非常に簡単で費用対効果に優れています。

機能的プログラムはより並行的であり、実行時の並列性に従ってより正確で優れたパフォーマンスを提供します。 Haskellも例外ではありません。 *マルチスレッド*を効果的に処理する方法で開発されました。

こんにちは世界

Haskellのダイナミズムを示す簡単な例です。 次のコードを見てください。 必要なのは、コンソールに「Hello Word」を印刷する1行だけです。

main = putStrLn "Hello World"

Haskellコンパイラが上記のコードに遭遇すると、すぐに次の出力を生成します-

Hello World

Haskellのパワーとシンプルさを示すために、このチュートリアル全体で多くの例を提供します。