게시판 인덱스

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

숙제 7: binary operator =과 write 관련 질문입니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2014)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
김찬민



가입: 2010년 9월 6일
올린 글: 81

올리기올려짐: 2014년11월30일 23:18    주제: 숙제 7: binary operator =과 write 관련 질문입니다. 인용과 함께 답변

문서에는 binary operator =와 write로 가능한 타입이 or로 묶여 있습니다.
(i, b, s, or l) / (i, b, s)

그러면 다음과 같은 프로그램은 타입 체커에서 타입 오류로 거부되어야 합니까? 아니면 런타임 에러로 처리가 되어도 충분합니까?

코드:
(fn x => ((x.1) = (x.2))) ((fn x => x), (fn x => x))

코드:
let val f = (fn x => ((x.1) = (x.2))) in f ((fn x => x), (fn x => x)) end


이 예제를 타입 오류로 거르면서도 i, b, s, l 모두에 대해 통과시키기 위해서는 타입 방정식들을 or로 표현해야 하는데, 배운 것은 and로 표현하는 것 뿐인 것 같습니다.

이런 식으로 타입이 안 맞을 경우도 통과를 시키자니 soundness가 깨지는 것 같고, 통과 시키지 않자니 방법이 쉽지 않습니다.

write도 마찬가지입니다.

하면 되긴 한데, 저 조건들도 고려해서 작성해야 할까요?
위로
사용자 정보 보기 비밀 메시지 보내기
강동옥



가입: 2009년 9월 18일
올린 글: 602

올리기올려짐: 2014년12월1일 16:42    주제: 인용과 함께 답변

예제로 드신 프로그램처럼 function 타입 값이 equal 연산의 피연산자로 들어오는 경우는 타입 오류로 걸러낼 수 있어야 합니다.

그리고,integer/bool/string/loc이 피연산자로 오는 경우에 대해서는 정상적으로 (단순 및 다형) 타입 체커를 통과할 수 있어야 합니다.

교과서 및 수업 시간의 내용을 다소 확장해야 하는 부분이 있을 수도 있지만, 이러한 것들도 숙제에서 요구하는 내용에 해당합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김찬민



가입: 2010년 9월 6일
올린 글: 81

올리기올려짐: 2014년12월1일 17:46    주제: 인용과 함께 답변

감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2014) 시간대: GMT + 9 시간(한국)
페이지 11

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


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