Haskellの型推論にハマリそう

アバター
コスモ
記事: 3
登録日時: 14年前
連絡を取る:

Haskellの型推論にハマリそう

投稿記事 by コスモ » 14年前

Haskellという関数型言語には型推論というかなり強力な武器が備わっています。
初歩の段階で既に型推論の概念が出てきます。
全く型を書かなくても良いということではなく、
ある程度確からしいものは省くことが出来るということに注意・・ですね。

具体例をいきましょう。
例えば、
add.hsとして、

CODE:

add a b = a + b
のような型情報何もないがコードがあった場合、
コードの中の情報から勝手に型を推論してくれます

例えば、上のコードの場合は+関数があります。
これは数の足し合わせに使う関数なので数に関するNum型が関わっていると推論されます。

実際にghci(Haskellのインタープリタ)を用いて型を見てみると、

CODE:

>:type add
add :: (Num a) -> a -> a -> a
となります。
なのでこれは2つの引数を持つ数の足しあわせの関数でした。

もちろんこの関数は実際に使用することも出来て、
ghciに読み込ませて(ghci>:load add.hs)、

CODE:

Main*> add 2 3
5
となりきちんと処理が完了しています。

他にも例はあるのですが、新たにパターンマッチのような概念を導入しないとすすめないのでこの辺にします。
最後に編集したユーザー コスモ on 2011年2月12日(土) 09:53 [ 編集 1 回目 ]

コメントはまだありません。