이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
구자민
가입: 2007년 9월 21일 올린 글: 14
|
올려짐: 2007년11월20일 20:02 주제: unify-all에 대한 질문입니다. |
|
|
unification 알고리즘이 잘 이해가 되지 않네요.. 책에 나와 있는 unify-all을 이용해서 구현을 하려 하는데,
코드: |
unify-all(u ^ u0; S) = let T = unify-all(u; S) in unify-all(Tu0; T) |
이 부분이 잘 이해가 가지 않습니다. unify-all은 (TyVal -> ty) 꼴의 함수(방정식의 해)를 리턴하는 함수인 것 같습니다. 그럼 위 식에서 T는 (TyVal -> ty) 꼴이라는 이야기인데, u0는 equation일 텐데 T에다 적용하는 것이 가능한가요? TyVal은 ty 타입으로 구현하니까 T는 결국 ty -> ty 타입일텐데요. 앞의 내용을 봐도 잘 모르겠습니다.
S |= equ 부분을 말하는 건가 해서 그렇게도 도전해 봤지만 역시나 잘 안 됩니다.
unify-all의 정확한 의미를 알 수 있을까요? |
|
위로 |
|
|
한재화
가입: 2007년 10월 6일 올린 글: 25
|
올려짐: 2007년11월20일 20:18 주제: 바로 적용할 수는 없고, 새로운 함수를 하나 만들면 될듯 합니다. |
|
|
substitution을 방정식에 바로 적용하는건 타입이 안맞아 불가능하구요 ..
방정식에서 나타나는 type var들을 substitution을 이용해 바꾸라는 의미같습니다.
substitution과 eqn를 인자로 받아 eqn에 있는 type var들을 substitution을 이용해 바꿔 새로운 eqn을 만들어내는 함수를 이용해야 할 거 같은데요 |
|
위로 |
|
|
구자민
가입: 2007년 9월 21일 올린 글: 14
|
올려짐: 2007년11월20일 20:53 주제: |
|
|
정말 감사합니다.
글을 보고 만들어 봤더니 해결되네요.^^ |
|
위로 |
|
|
|