関数値

このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

last mod. 2008-04-07 (月) 17:07:23

関数型言語の比較

OCaml

fun x -> x;;のように書きます。パターンマッチを用いる場合は、funではなくfunctionを用いる必要があります。

# function 1 -> 1
  | n -> n - 1;;
- : int -> int = <fun>

なお、let束縛で関数を定義する場合は、funが使われるので、パターンマッチする関数を書く場合は、

let f = function
  | 1 -> 1
  | n -> n-1

のように記述するのが常道です。

SML

fn x => x; のように書きます。パターンマッチを用いる場合も、fnを用いることができます。

fn 1 => 1
| n => n-1;

Haskell

\x -> x のように書きます。パターンマッチを用いることはできないので、case ... ofを用いる必要があります。

f = \x -> case x of 
           1 -> 1
           n -> n -1

新規 編集 添付