이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
황재동
가입: 2014년 9월 2일 올린 글: 80
|
올려짐: 2014년12월3일 21:07 주제: 수업내용 질문 unify () |
|
|
교재 슬라이드를 보면
unify 알고리즘에서
1.
unify ( alpha , tau ) = (a -> tau ) if ( a가 tau의 부분집합이 아닐 때) 라고 적혀있습니다.
a가 tau의 부분집합이라는 것이 무슨 의미인지 잘 이해가 가지 않습니다.
a가 tau -> int 와 같은 경우를 의미하는 건가요?
2.
unify의 두 인자가 Type Var.인 경우에
슬라이드를 보면
unify(_) 에 들어가게 됩니다.
그런데 제 생각에는 만약 두 인자가 Type Var.인 경우에는 이를 동치로 놓아야 한다고 생각합니다. |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2014년12월4일 12:21 주제: |
|
|
1.
unify를 통해 나온 substitution은 자기 자신 variable을 포함하고 있지 않아야 의미있는 답이 됩니다.
예를들어서 a to (a->int)와 같은 substitution은 절대로 a에대한 타입을 알아낼수 없는 substitution이겠지요.
2.
한쪽방향으로만 추가하셔도 잘 될것입니다.
동치로 놓는다는 말씀이 무슨말씀이신지?
물론 a to b, b to a 모두 추가하셔도 문제는 없을 것입니다. |
|
위로 |
|
|
|