|
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
서상민
가입: 2006년 9월 11일 올린 글: 25
|
올려짐: 2010년4월30일 19:23 주제: 숙제 6의 FunDomain 질문 |
|
|
다른 도메인들은 구현을 했는데, FunDomain은 간단히 이해가 되지 않아 헤매고 있네요.
FunDomain에 대한 몇 가지 질문입니다.
1) FunDomain (A: SET) (B: DOMAIN)이라는 것은 SET A의 원소 하나가 DOMAIN B에 있는 원소 하나로 매핑이 되는 도메인이 맞나요?
2) 그렇다면, FunDomain의 TOP은 SET A의 모든 원소가 B.top으로 매핑이 되는 경우를 말하는 게 맞나요? (명시적으로 나타나지는 않지만)
3) join
type elt 중에 ELT of B.elt Map.t 가 있는데, 이 둘을 join한다는 것의 의미가 무엇인가요?
join의 의미가 LUB를 구한다는 것은 알겠는데 두 Map의 LUB라는 것이 무엇인지 모르겠습니다.
4) leq
마찬가지로 두 Map에 대해 leq를 어떻게 정의해야 하나요?
5) image
BOT의 경우 image는 exception을 내면 되나요?
TOP의 경우 TOP이 2)와 같다면, A에 lelt가 있으면 B.top, A에 lelt가 없으면 exception을 내는 건가요?
6) update
TOP의 경우 TOP이 2)와 같다면, 모든 원소가 B.top으로 매핑되어 있는 Map을 만들고 그 Map에 update를 하면 되나요?
7) map
map은 Functor Map.Make의
인용: | val map : ('a -> 'b) -> 'a t -> 'b t
map f m returns a map with same domain as m, where the associated value a of all bindings of m has been replaced by the result of the application of f to a. The bindings are passed to f in increasing order with respect to the ordering over the type of the keys | 와 같은 의미인가요?
map도 TOP의 경우는 6)과 같이 처리하나요?
8) fold
BOT의 경우 empty Map에 대해 fold를 적용하면 되나요?
TOP의 경우는 update나 map과 마찬가지로 TOP을 SET의 모든 원소가 B.top을 가진 Map으로 보고 fold를 적용하나요?
질문을 하다보니 거의 모든 것을 질문하게 된 거 같습니다.
번거로우시겠지만 답변 부탁드립니다. |
|
위로 |
|
|
허기홍
가입: 2007년 9월 27일 올린 글: 231
|
올려짐: 2010년5월1일 15:09 주제: |
|
|
1) 맞습니다.
2) 맞습니다.
3) 두 맵의 LUB는 각 key에 대응하는 value의 LUB을 가지고 정의됩니다.
예를 들어 두 맵 M1 M2가
M1 : {x = a, y = b}
M2 : {x = c, y = d}
라고 하면
lub M1 M2 = {x = lub a c, y = lub b d}
가 됩니다. 맵에 나타나지 않는 key의 값은 Bottom 으로 생가하시면 되고요.
4) 3)과 마찬가지로 각 원소에 대해서 leq가 성립하면 됩니다.
5) BOT의 image는 공역에 있는 BOT이 되겠죠.
TOP도 마찬가지입니다.
FunDomain은 CPO입니다. FunDomain의 TOP과 BOT을 어떻게 정의하면 될지 생각해보시면 되겠습니다.
6) 네.
7) 네. Ocaml에 있는 map과 비슷한 역할을 합니다. 다만 타입이 약간 다르지요.
8 ) 네.
숙제 구현과 너무 직접적인 연관이 있어서 자세한 설명은 하지 않았습니다. |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|