Haskellという言語名は論理学者Haskell B. Curryの名前から。静的型付けコンパイラ型言語。変数宣言において型推論機能を利用できる。Haskellにおける「関数」とは、受け取る引数の値が一定なら関数の返り値も常に一定の関係にあるものに限定される。関数が内部状態を持つことは許可されない。そして変数の初期値は再代入によって変更することはできないという制約下において、関数を引数に作用させてプログラムの処理を進めていく方式の言語である。このような制約を持つため、プログラムの各部分の実行順序を任意に選ぶことができ、並列演算への応用が容易である。
フリーウェアの開発環境としてGHCやHugsがある。これらはeclipseから利用することもできる。
Haskellで書かれた日本で有名なゲームにMonadiusというのがある。
Hello worldの例
main = putStrLn "Hello world!"
自然数nの階乗 n! を求めるコードの例
-- ガード節を使った例
factorial :: Int -> Int -- 引数は整数型の値を一つ取る、返り値も整数型の値
factorial n
| n == 0 = 1 -- 引数nが0の場合、返り値は1とする
| otherwise = n * factorial (n - 1) -- それ以外の場合は再帰呼び出し
-- ifを使った例
factorial :: Int -> Int
factorial n =
if n == 0 then 1 -- 引数nが0の場合、返り値は1とする
else n * factorial (n - 1) -- それ以外の場合は再帰呼び出し
-- caseを使った例
factorial :: Int -> Int
factorial n = case n of 0 -> 1 -- 引数nが0の場合、返り値は1とする
_ -> n * factorial (n - 1) -- それ以外の場合は再帰呼び出し
Haskellに関するニコニコ動画の動画を紹介してください。
Haskellに関するニコニコミュニティを紹介してください。
急上昇ワード改
最終更新:2025/12/15(月) 11:00
最終更新:2025/12/15(月) 10:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。