이주상13
가입: 2018년 9월 6일 올린 글: 18
|
올려짐: 2018년9월20일 11:06 주제: 2-4 질문입니다. |
|
|
조교님께서 올려주신 테스트케이스에서요
코드: |
let (n, queue') = IntListQ.deQ (IntListQ.enQ(IntListQ.enQ(IntListQ.emptyQ, [1;2;3]), [4;5]))
|
의 결과가
코드: |
val n : int list = [1; 2; 3]
val queue' : int list list * int list list = ([], [[4; 5]])
|
라고 하셨는데요,
제가 돌려보니까 결과가
코드: |
val n : IntListQ.element = [1; 2; 3]
val queue' : IntListQ.queue = ([], [[4; 5]])
|
이렇게 나오는데 혹시 무언가 잘못된건가요?
아니면 IntListQ 내부 type은 원래 밖에서 안보이는건가요?
내부적으로는 element는 int list로, queue는 element list * element list로 구현되어 있습니다.
참고로 모듈 타입 만족하는지 확인하기 위한 코드인
코드: | module ValidIntListQ = (IntListQ : Queue) |
도 에러 없이 컴파일 됩니다.
감사합니다. |
|