|
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
조강원
가입: 2008년 9월 2일 올린 글: 9
|
올려짐: 2008년12월15일 10:07 주제: Challenge 6의 ref e 변환식에 대한 질문입니다. |
|
|
Challenge 6 문제에는 ref e를 변환하는 식이 다음과 같이 주어져 있습니다.
코드: | [u]ref e[/u] = λ(v,(c,S)).let (v,(c',S')) = [u]e[/u](v,(c,S)) in (c'+1, (c',v)::S') |
이에 따르면, ref e의 type은
(value x (counter x list)) -> (counter x list)
의 형태가 되어야 합니다.
한편 ref ref e와 같은 식을 변환할 경우,
코드: | [u]ref ref e[/u] = λ(v,(c,S)).let (v,(c',S')) = [u]ref e[/u](v,(c,S)) in (c'+1, (c',v)::S') |
가 되는데, let 부분을 주목해 보면 ref e의 type이
(value x (counter x list)) -> (value x (counter x list))
이 되어야 할 것 같습니다.
즉, ref e의 type은 한 가지로 정해지지 않게 됩니다.
제가 어딘가 잘못 생각하고 있는 건가요?
아니면 문제에 수정되어야 할 부분이 있는 걸까요?
개인적으로는 ref e에 대한 변환식이
코드: | [u]ref e[/u] = λ(v,(c,S)).let (v,(c',S')) = [u]e[/u](v,(c,S)) in (c', (c'+1, (c',v)::S')) |
이 아닐까 생각해 봅니다. ㅇㅅㅇ |
|
위로 |
|
|
이광근
가입: 2005년 8월 29일 올린 글: 68
|
올려짐: 2008년12월15일 19:17 주제: Re: Challenge 6의 ref e 변환식에 대한 질문입니다. |
|
|
인용: |
개인적으로는 ref e에 대한 변환식이
코드: | [u]ref e[/u] = λ(v,(c,S)).let (v,(c',S')) = [u]e[/u](v,(c,S)) in (c', (c'+1, (c',v)::S')) |
이 아닐까 생각해 봅니다. ㅇㅅㅇ |
조강원씨가 맞습니다.
-K |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|