게시판 인덱스

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

[숙제 7] 질문

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2026)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
최정원



가입: 2025년 3월 22일
올린 글: 32

올리기올려짐: 2026년6월1일 14:18    주제: [숙제 7] 질문 인용과 함께 답변

안녕하세요, 제출 기한을 넘었지만 아직 늦은 제출 기한은 남아 네 번째 exercise에 대해 여쭤봅니다.

1. 프로그램 중 단순히 1혹은 "text" 처럼 변수 없이 하나의 타입만 들어 있는 것들도 가능할 것 같습니다.

이 경우, 타입 체커에는 M.CONST c 하나의 expression만 들어갈 것 같은데, 이때도 infer 할 type variable을 새로 만들어서 확인하여 돌려주는 과정을 거쳐야 하나요, 그냥 int, string을 바로 돌려줘도 되나요?

M 안내문에는 int, bool, string은 e : tau 와 같은 constraint가 없어 굳이 위의 과정을 거치는 것은 필요하지 않을 것 같아 확인부탁드려요.

2. ty type에 새로운 타입을 넣는 것이 가능한가요?

3. 어떤 순서로 확인하는 타입 체커를 만들었느냐에 따라, 타입을 먼저 돌려주고 타입 에러를 내는 경우도 존재할 것 같은데, 이 경우는 잘못된 결과라고 판단될까요?
위로
사용자 정보 보기 비밀 메시지 보내기
안중원
Site Admin


가입: 2023년 3월 13일
올린 글: 90

올리기올려짐: 2026년6월1일 16:26    주제: 인용과 함께 답변

안녕하세요, 프로그래밍 언어 조교 안중원입니다.

1. 타입 추론 알고리즘의 세부 실행방식에 대해 특별한 제한을 두고 있는 것은 아닙니다. 프로그램을 직접 실행한다든지 하는 트릭에 대해서만 제한을 두고 있습니다.

2. simple_checker 안의 정의들은 자유롭게 바꾸어도 됩니다. 이는 스켈레톤 코드의 주석에도 안내되어있는 내용입니다. simple_checker.mli에 적혀있는 check 함수의 타입만 잘 맞춰주시면 됩니다.

3. 전체 식의 타입 체크를 돌렸을 때 정확한 타입이 나오거나 타입 에러가 나오거나 둘 중의 하나의 결과로 올바르게 떨어지면 됩니다.

감사합니다.
_________________
TA 안중원
e-mail: jwahn@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기
최정원



가입: 2025년 3월 22일
올린 글: 32

올리기올려짐: 2026년6월1일 16:46    주제: 인용과 함께 답변

답변 감사합니다!

궁금한 것이 더 생겼는데, 공지에 function type을 돌려주는 입력은 들어오지 않는다 말씀하신 것에 대해, 그렇다면 M.TyArrow 가 결과로 나오는 경우는 없는 것인가요? Apply의 경우 무조건 함수에 입력을 적용하는 형식이라, apply나 function이 결과를 돌려주지 않고 남아있으면 함수가 남아있는 것과 동일한 것은 아닌 것인지 여쭤보고 싶습니다.

ty를 통해 type infer을 하고 check에는 ty를 최종적으로 M.TySomething 으로 바꾸어 돌려주는 방식을 쓴다면, M.TyArrow 형태로 번역되는 가능성은 배제해도 되는지 알고 싶습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
안중원
Site Admin


가입: 2023년 3월 13일
올린 글: 90

올리기올려짐: 2026년6월2일 9:13    주제: 인용과 함께 답변

마지막에 말씀하신 방식이 숙제에서 의도한 것입니다. simple_checker.ml 내부에서만 사용하는 ty 등을 사용하여 타입검사한 후, 전체 식의 타입만 M.typ으로 변환하여 리턴하면 됩니다.

답변이 늦었지만 잘 구현하셨으리라 생각합니다.

감사합니다.
_________________
TA 안중원
e-mail: jwahn@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2026) 시간대: GMT + 9 시간(한국)
페이지 11

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


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