게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

2-4 질문입니다.

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2018)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
이주상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)

도 에러 없이 컴파일 됩니다.


감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
배요한
Site Admin


가입: 2018년 3월 6일
올린 글: 107

올리기올려짐: 2018년9월20일 14:14    주제: 인용과 함께 답변

안녕하세요, 이주상 학생.
인용:
이렇게 나오는데 혹시 무언가 잘못된건가요?

아니요, 잘 나온거랍니다. Very Happy

주상 학생이 작성한 함수마다 타입을 명시(예: let empty: queue = ... let enQ : queue * element -> queue = ...)해서 저렇게 나온것 같습니다.


감사합니다.

TA 이동권
e-mail: dklee@ropas.snu.ac.kr

TA 배요한
e-mail: yhbae@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2018) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay