| 이주상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) | 
 도 에러 없이 컴파일 됩니다.
 
 
 감사합니다.
 |  |