이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
송수현
가입: 2006년 9월 4일 올린 글: 25
|
올려짐: 2006년10월25일 17:30 주제: SM5와 K- 의 type이 겹쳐서 문제가 있는 듯 합니다. |
|
|
우선 Sm5, K 순서로 open을 하면
코드: |
open Sm5
open K
...
| ADD (e1, e2) => [ADD]
|
여기에서는 컴파일러가 뒤쪽의 ADD에 대해
코드: |
오류: Sm5.cmd 타입이어야 하는데 K.exp * K.exp -> K.exp 타입입니다.
|
라는 오류를 발생시킵니다.
그리고 K, Sm5 순서로 open을 하면
코드: |
open K
open Sm5
...
| ADD (e1, e2) => [ADD]
|
이번엔 앞쪽의 ADD에 대해
코드: |
오류: K.exp -> Sm5.cmd list 타입이어야 하는데 Sm5.cmd -> _a 타입입니다.
|
라는 오류를 발생시킵니다.
아무래도 ADD라는 게 K쪽과 Sm5쪽에 둘 다 있기에 문제가 발생하는것 같은데요(open은 나중에 한 것이 우선권을 갖는 듯 하구요), 괄호를 적절히 쳐 봐도 먹히지 않는 것을 보아서.. 혹시나 뼈대가(Sm5의 type 선언이) 수정되어야 하는 것인가요? |
|
위로 |
|
|
이준
가입: 2006년 9월 7일 올린 글: 30
|
올려짐: 2006년10월27일 3:22 주제: |
|
|
open을 쓰시는군요...하하..대단하십니다..
(제가 바보인걸까요 +_+;
전!! open을 몰라서..라기보다는 신경을 쓰기 싫었달까..;;
암튼 저는 open안쓰고 각 명령(?) 마다 K. 이나 Sm5.을 사용했다는..
일테면 K.ADD => Sm5.ADD 뭐 이런식이죠..
이렇게 하면.. 키보드를 몇번 더 두들겨 줘야 하지만..(꾀 많이인가..;
문제는 없네요^^; |
|
위로 |
|
|
송수현
가입: 2006년 9월 4일 올린 글: 25
|
올려짐: 2006년10월27일 8:33 주제: |
|
|
그렇군요!
제가 바보였습니다;
open시켜놓고 겹치는 몇가지에만 대해서 K.을 붙여주니 잘 되네요.
감사합니다. |
|
위로 |
|
|
박대준
가입: 2005년 10월 7일 올린 글: 245
|
올려짐: 2006년10월27일 15:36 주제: |
|
|
보통 이와 같이 타입 생성자의 이름이 같은 여러개의 모듈이 있을 경우,
적절히 모듈 이름을 앞에 명시해주셔야 합니다.
코드의 이해 차원에서 여러개 중 하나만 open해 놓고,
나머지는 모듈 이름을 명시해서 사용하시는 것이 좋을 듯 싶습니다. |
|
위로 |
|
|
|