게시판 인덱스

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

8-1 테스트 케이스 공유

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



가입: 2015년 9월 1일
올린 글: 19

올리기올려짐: 2015년12월15일 20:50    주제: 8-1 테스트 케이스 공유 인용과 함께 답변

코드:

let rec f = fn x =>(
  f (malloc true);
  if x = 0 then
    x
  else
    x + f (x-1)
)
in
  f 1
end

(* type error *)


신동진님이 만들어주신 케이스 입니다

김형모님의 테스트케이스를 해결하려고
재귀함수도 다형타입으로 될 수 있게 해버리면
저 케이스가 타입에러가 안나더라고요...

우리의 목표는 sound한 체커를 만드는거니까
이게 타입에러가 제대로 나오는게 먼저인게 아닐까 싶네요

늦었지만 공유해봅니다
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
최재승



가입: 2012년 9월 10일
올린 글: 211

올리기올려짐: 2015년12월17일 9:54    주제: 인용과 함께 답변

사실 이 테스트케이스는 실제 실행시 타입 에러 없이 무한 루프에 빠지므로, 타입 체커가 통과시켜도 불안전(unsound)한 것은 아닙니다.
(물론 M/W 알고리즘은 불완전(incomplete)하므로 이 프로그램에 대해 타입 에러를 내놓습니다.)

반면 아래처럼 Sequence 순서가 바뀌면 실행시 타입 에러가 나므로 반드시 타입 체킹할때 타입 에러를 잡아내야 안전(sound)합니다.
코드:

  if x = 0 then
    x
  else
    x + f (x-1)
  f (malloc true);


조교 드림[/code]
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2015) 시간대: GMT + 9 시간(한국)
페이지 11

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


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