| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
조은상
가입: 2006년 9월 8일 올린 글: 17
|
올려짐: 2006년9월9일 19:57 주제: User-defined Type 에 대해. |
|
|
첫 숙제가 나왔군요. nML 감잡기를 위해 들여다 보다가 이상한 점을 발견했습니다.
4번 문제에서 다음과 같이 타입이 주어집니다.
| 코드: | | type crazy2 = NIL | ZERO of crazy2 | ONE of crazy2 | MONE of crazy2 |
그런데 위의 타입을 nml 에서 입력해보면 다음과 같은 에러가 납니다.
| 코드: | | val ZERO: crazy2 -> crazy2 = unbound value |
그래서 다음처럼 간략하게 써봐도,
이렇게 에러가 납니다.
| 코드: | | val ZERO: crazy2 = unbound value |
왜 그런 걸까요? nML Primer나 Definition을 봐도 ZERO 같은 경우를 쓰지 못하게 되어 있는 건 아니고, 예약어도 아닌데 말이지요.. |
|
| 위로 |
|
 |
조은상
가입: 2006년 9월 8일 올린 글: 17
|
올려짐: 2006년9월10일 1:31 주제: nmlc |
|
|
아까 올린 글에서 에러메시지는 nml 프로그램에서 입력했을 때의 경우입니다.
그런데 혹시나 해서 nmlc 에서 컴파일해보니 에러없이 컴파일이 되네요..
아무래도 nml 프로그램의 버그인 것 같다는 생각이 듭니다.. |
|
| 위로 |
|
 |
장민석
가입: 2006년 9월 5일 올린 글: 165
|
올려짐: 2006년9월10일 12:13 주제: |
|
|
그러게요. nml 바로실행 컴파일러의 경우에만 그런 현상이 발생하네요.
타입 정의할 때 constructor의 이름이 Z로 시작하면("Z"는 제외) 늘 그런 메세지가 뜨는데 뭔가 버그인 것 같습니다. |
|
| 위로 |
|
 |
박대준
가입: 2005년 10월 7일 올린 글: 245
|
올려짐: 2006년9월11일 10:31 주제: |
|
|
| 장민석 씀: | nml 바로실행 컴파일러의 경우에만 그런 현상이 발생하네요.
타입 정의할 때 constructor의 이름이 Z로 시작하면("Z"는 제외) 늘 그런 메세지가 뜨는데 뭔가 버그인 것 같습니다. |
맞습니다. 나타나지 말아야할 내부 메시지가 출력되는 문제인 것 같습니다.
하지만, 메시지만 출력될 뿐 다른 실행은 잘 되니, 일단은 무시하시고 진행하시기 바랍니다. |
|
| 위로 |
|
 |
|