プログラミング言語 Standard ML 入門 (問題の解答例)
5 レコード

5.5 組型

問 5.2

以下の各文の評価の結果は何か.

  • val {1=x,3={2=y,...},...} = (1,2,(3,4,5),6)

  • (#2 o #3) (1,2,(3,4,5),6)

ただし,o は,トップレベルで以下のように定義された, 関数合成演算子である.

    infix 3 o
    fun op o(f,g) x = (f (g x))

解答例  (思考実行し結果を得ないと意味はないが、…)SML#での評価結果を以下に示す。

   # val {1=x,3={2=y,...},...} = (1,2,(3,4,5),6);
   val x = 1 : int
   val y = 4 : int

   # (#2 o #3) (1,2,(3,4,5),6);
   val it = 4 : int