| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
doyoung05
가입: 2024년 3월 18일 올린 글: 4
|
올려짐: 2024년6월13일 5:01 주제: [HW 8] Ex 1 질문입니다. |
|
|
안녕하세요, 과제를 풀던 중 1번 문제에 대한 질문이 생겨 문의드립니다. 수업 시간에 배운 let-polymorphic type을 생각하면, test15.m의 코드는 write x에서 x의 타입이 int, bool, string 중 하나인 경우만 가능하고, 그 외의 타입을 가지는 경우는 불가능하므로 let ... in 이후의 코드로 볼 때 타입 추론이 불가능해야 할 것으로 보이는데, 주석에는 (bool, (bool, bool))로 적혀 있어 주어진 스펙과 상충되는 것으로 보여 문의드립니다.
| 코드: |
(* Polymorphism with WRITE *)
let val print = fn x =>
(write x; true)
in
(print 1, (print "hello world", print true))
end
(* Reseult : (bool, (bool, bool)) *)
|
|
|
| 위로 |
|
 |
이재호 Site Admin
가입: 2022년 3월 6일 올린 글: 209
|
올려짐: 2024년6월13일 13:14 주제: |
|
|
안녕하세요,
generalize하기 전 a -> bool을 만드는데, 이때 a가 int, bool, 혹은 string 중에 하나라는 제약을 같이 고려하셔서 타입을 만드셔야 합니다.
제가 제공해드린 숙제 7의 단순 타입 체커를 참고하시면 어떻게 접근해야 할지 도움이 될 것 같습니다.
감사합니다.
조교 드림
TA 이재호
e-mail: jhlee@ropas.snu.ac.kr |
|
| 위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|