엄태휘
가입: 2014년 9월 14일 올린 글: 8
|
올려짐: 2019년10월6일 13:29 주제: HW4 간단한 테스트케이스입니다. |
|
|
(* Test case : Sideeffects Hell*)
let x := 1 in
let y := 2 in
let z := 3 in
let proc f (x, y) =
x := x + 1;
y := y + 1;
x + y + z
in
let proc g (x) =
x.x := x.x + 10;
x := 3;
x
in
let r := {x := f<x,y>, y := f(x,y), z:= f<x,y>, f:= x+y+z} in
write(r.x);
write(r.y);
write(r.z);
write(r.f);
write(g(r));
write(r.x)
(* Output : prints out "8\n10\n10\n10\n3\n18\n" *)
스펙대로 구현하면 이렇게 나와야한다고 생각되는데 혹시 다른 결과가 나오면 알려주시면 정말 감사하겠습니다. |
|