|
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
김진현
가입: 2005년 9월 20일 올린 글: 91 위치: SNUCSE OPT. lab.
|
올려짐: 2005년11월22일 20:34 주제: 내장지방 도려내기? |
|
|
내장지방, 타입 체크 구문을 잘 도려낼 방법이 있나요?
어차피 우리가 사용하는 nML 에서, `값(M의)' 이라는 타입이 있을 테고,
이 `값' 이 어떤 구조냐로 실제적인 값을 꺼내올 수 있을 겁니다.
이를테면 type value = Integer of int | Boolean of bool 과 같은 타입에서
value 타입의 v로부터 실제적인 int 값을 꺼내오려면 v 가 Integer(n) 임을 알아야 합니다.
이정도의 타입에 대한 구문은 2번에도 있어야 할 것 같습니다.
그런데 1에서의 타입 체크 구문도 이와 다를 바 없을 것 같은데,
과연 도려낼 지방은, 무엇인가요?
(숙제 하신 분들은 무얼 도려내신 건지 궁금하네요 ㅜ.ㅜ) _________________ The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it. |
|
위로 |
|
|
서성현
가입: 2005년 9월 29일 올린 글: 54
|
올려짐: 2005년11월22일 23:12 주제: Re: 내장지방 도려내기? |
|
|
김진현 씀: | 과연 도려낼 지방은, 무엇인가요? |
저도 그게 의문입니다..
저 같은 경우는 RuntimeError가 발생하는 부분을 모두 삭제했습니다.
(단, "memory is full"과 "cannot read non-int type"(int_of_string) 같은 RuntimeError는 남겨두고요.)
예를 들면..
코드: | fun equal (Num v1 , Num v2 ) = Bool (v1=v2)
| equal (String v1, String v2) = Bool (v1=v2)
| equal (Bool v1 , Bool v2 ) = Bool (v1=v2)
| equal (Loc v1 , Loc v2 ) = Bool (v1=v2)
| equal (_, _) = raise RuntimeError "cannot compare non-(const | Loc) type" |
이 부분을 이렇게 고쳤지요.
코드: | fun equal (Num v1 , Num v2 ) = Bool (v1=v2)
| equal (String v1, String v2) = Bool (v1=v2)
| equal (Bool v1 , Bool v2 ) = Bool (v1=v2)
| equal (Loc v1 , Loc v2 ) = Bool (v1=v2) |
하지만 제 생각에도, 그렇게 해서 실행 속도가 빨라질 것 같지는 않네요.. ^^; _________________ http://snupl.wo.to |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|