이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
신기정
가입: 2009년 9월 15일 올린 글: 83
|
올려짐: 2010년11월13일 18:47 주제: \x.x의 타입 |
|
|
(\x.x)
라는 프로그램이 있을 때, 이 것의 타입은 여러가지가 가능한데요,
이 경우 simple type system에서는
type error를 발생시켜야 하나요?
신기정 가 2010년11월13일 19:04에 수정함, 총 1 번 수정됨 |
|
위로 |
|
|
신기정
가입: 2009년 9월 15일 올린 글: 83
|
올려짐: 2010년11월13일 19:04 주제: 더불어 |
|
|
더불어 (/x.x) 3 과 같이
위의 식이 포함되어 있더라도 타입체킹이 가능한 경우는
에러를 발생시킬 필요가 없는것이 맞나요? |
|
위로 |
|
|
최현돈
가입: 2009년 10월 7일 올린 글: 7
|
올려짐: 2010년11월13일 20:39 주제: . |
|
|
비슷한 질문인데요,
(\x. x = x)
라거나
(\x. write x)
같은 프로그램 역시 타입 에러를 발생시켜야 하나요? |
|
위로 |
|
|
신기정
가입: 2009년 9월 15일 올린 글: 83
|
올려짐: 2010년11월13일 21:26 주제: 추가 질문입니다. |
|
|
추가 질문입니다.
1. 타입 에러 발생 시의 출력 message 내용에는 제한이 없나요?
2. Free Variable이 있는 경우는
타입 에러가 아닌 Invalid argument를 발생시키는 것이 맞나요? |
|
위로 |
|
|
조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2010년11월14일 15:33 주제: |
|
|
다음 식들은 프로그램이 아닙니다. M 언어 정의 문서의 1.1 Program에서 프로그램을 함수가 아닌 식들로 정의하고 있습니다.
코드: | (\x. x)
(\x. x = x)
(\x. write x)
|
반면 다음 식은 프로그램이고 타입 추론이 가능합니다.
신기정 씀: | 1. 타입 에러 발생 시의 출력 message 내용에는 제한이 없나요? |
예. 없습니다.
신기정 씀: | 2. Free Variable이 있는 경우는
타입 에러가 아닌 Invalid argument를 발생시키는 것이 맞나요? |
README의 내용대로 "M.RuntimeError는 M_Vanilla.run과 M_LowFat.run에서만, M.TypeError는 M_Checker.check에서만" 내도록 해 주세요. 에러 메세지를 보시면 아시겠지만 emptyEnv와 emptyMem은 RuntimeError를 발생시킵니다. |
|
위로 |
|
|
|