==−これまで、[[type]]宣言に関して全く触れてきませんでした。その必要がなかったのですが、それはHaskellが型推論を行うからです。一般的に型宣言はしたい場合以外はする必要がありません。型宣言をする場合は<hask>::</hask>を使って行います。+これまで、[[型]]宣言に関して全く触れてきませんでした。その必要がなかったのですが、それはHaskellが型推論を行うからです。一般的に型宣言はしたい場合以外はする必要がありません。型宣言をする場合は<hask>::</hask>を使って行います。(そして後で触れる型[[class]])は常に大文字から開始します。変数は常に小文字から始まります。convention]])ではありません。(そして後で触れる型[[class]])は常に大文字から開始します。変数は常に小文字から始まります。convention]])ではありません。<tt>ghci</tt>を使って、ある値がどんな型かを確認することもできます。普段、自分では型宣言をしないので、この機能は役に立ちます。<tt>ghci</tt>を使って、ある値がどんな型かを確認することもできます。普段、自分では型宣言をしないので、この機能は役に立ちます。245:階数が得られました。5</hask>と括弧なしで関数が呼び出せました。5</hask>と括弧なしで関数が呼び出せました。−今度は<tt>ghci</tt>を使って[[type]]を調べてみましょう。+今度は<tt>ghci</tt>を使って[[型]]を調べてみましょう。10分以上かかるので省いたトピック概要Haskellは関数型で(つまりすべてが関数呼びだしで処理される)、静的な暗黙的型付けで(typeはコンパイラによって確認され、明示的に宣言する必要はない)、遅延評価(必要となるまで処理されない)の言語です。系統が近い言語として最も人気のあるのはおそらくML系の言語でしょう。ダウンロードできます。MacOS、Windows、Solarisで動作します。ghciという2つのプログラムが入っているのが確認できます。最初のghcの方はHaskellのライブラリやアプリケーションをバイナリコードにコンパイルします。ghciはインタプリタで、Haskellコードを書いてすぐに結果を得ることができる環境です。簡潔な表現たいていの数学的表現は直接ghciに入力して結果を得ることができます。Prelude>はGHCiのデフォルトのプロンプトです。16文字列は"ダブルクォート(二重引用符)"で囲みます。文字列の結合をするときは++を使います。Haskell"関数を呼び出すときは関数の後に直接引数を並べて行います。関数呼び出しに括弧は必要ありません。actionsはコンソールからの入出力を行うのに使います。文字列をターミナルに出力します。print関数はどんな型の値でも出力します。アクションを使いたい場合は、doブロックを使います。アクションはセミコロンで区切られます。getLine(Stringを返します)かreadLn(どんな型の値でも返します)でできます。<-シンボルはI/Oアクションの結果に名前を束縛するために使います。16(4が入力で16が結果です。)実際にはdoブロックを書くには別の方法があります。Haskellでは中括弧やセミコロンをあまり使わないので、インデントが重要になります。ghciでは書きにくいかもしれないので、ソースファイル(例えばTest.hs)に書いてビルドしてみましょう。