박상현
가입: 2013년 10월 14일 올린 글: 4
|
올려짐: 2013년12월8일 9:58 주제: OCaml에서 equality를 override(혹은 비슷하게) 할 수 있는 방법이 있나요? |
|
|
([1],[3;2]) queue와 ([1;2;3],[]) queue가 같다는 것을 이용해야 StringSetQQ에서 enq가 가능할텐데, 문제는 element, 즉 StringSetQ의 내부 구조를 StringSetQQ 에서 확인할 방법이 없는 것 같습니다.
(equals q1 q2) 를 정의하여 type matching을 하려고 해도, StringSetQQ 모듈 내에서는StringSetQ.queue와 string list * string list 가 같은 형태임을 파악하지 못하여 에러가 발생합니다.
애초에 StringSetQ 내에서 "="를 override 하는 식으로 해결해야 할 것 같은데, 찾아보니 OCaml은 equality를 override 할 수 없다고 하네요.
해결책을 찾으려고 했지만 너무 어렵습니다.
수정 : 해결했습니다. 3번 문제 grade file에 답이 있네요. |
|