• 検索結果がありません。

プログラミング言語意味論( 2012 年度)・テスト問題用紙

N/A
N/A
Protected

Academic year: 2021

シェア "プログラミング言語意味論( 2012 年度)・テスト問題用紙"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラミング言語意味論 ( 2012 年度) ・テスト問題用紙

(2013 年 2 月 7 日( 木) ・ 14:40 〜 15:25)

解答上、その他の注意事項

I.

問題は、問

I〜III

まである。

II.

解答用紙の右上の欄に学籍番号・名前を記入すること。

III.

ノート・プリント・参考書などは持ち込み可である。

IV.

携帯電話などの通信機能を持つもの及び

PC

は 持ち込み不可 である。

V.

テストの配点は

50

点(+ボーナス

20

点)である。合格はレポートの得点を加点して、

100

点満点中

60

点以上とする。

1

(2)

I. (ラムダ計算) (12点×2) 次のλ式が正規形に到達するまでの、最左変換による1ステップずつのβ変換の列を書け。た だし 、10回以内の最左変換で正規形に到達しない式については、それが判別できる時点( 以前 と同じ式が出現した時点)、または10回最左変換した時点で止めてよい。

解答例1:

f x.f(f x))((λf x.f(f x))g)y

−→β (λx.((λf x.f(f x))g)(((λf x.f(f x))g)x))y

−→β ((λf x.f(f x))g)(((λf x.f(f x))g)y)

−→βx.g(gx))(((λf x.f(f x))g)y)

−→β g(g(((λf x.f(f x))g)y))

−→β g(g((λx.g(gx))y))

−→β g(g(g(gy)))

解答例2:

x.xx)(λx.xx)

−→β (λx.xx)(λx.xx)

−→β ( 停止しない)

(1) (λxy.xy(λuv.v))(λxy.y)(λxy.x) (2) (λab.ba)(λf x.f(f x))(λf x.f(f x))

なお、必要に応じてI ≡λx.xなど 適宜、定数を定義しても良い。

2

(3)

II. ( 語句) (13点×2) プログラミング言語(やその処理系)で用いられる次の6つの語句のうち2つを選択し 、具体 的な例を挙げて説明せよ。ただし 、講義プリントにのっている例ではなく、オリジナル の例を 考えること。

カプセル化(encapsulation)

高階関数(higher-order function)

参照透明性(referential transparency)

非決定性(nondeterminism)

• 接続 (あるいは継続)(continuation)

• 多相(polymorphism)

III. ( 自由記述—ボーナス問題) ( 最高20点)

Fortran, C, Java, Scala (?), . . .と時代の要請によって、主流の言語は移り変わっていっている。今

後、どのようなコンピューティングの要請が生まれ 、どのような言語が必要とされるようにな るか、大胆に予測してみよ。

3

(4)
(5)

プログラミング言語意味論 (

2012

年度) ・テスト解答用紙 (

2013

2

7

日)

学籍番号 氏名

(6)
(7)

学籍番号 氏名

(8)

参照

関連したドキュメント

(質問者 1) 同じく視覚の問題ですけど我々は脳の約 3 分の 1

する議論を欠落させたことで生じた問題をいくつか挙げて

教育現場の抱える現代的な諸問題に応えます。 〔設立年〕 1950年.

けることには問題はないであろう︒

2013

難病対策は、特定疾患の問題、小児慢性 特定疾患の問題、介護の問題、就労の問題

⽉⽇ 時間 事象・対応内容