2011-02-02 4 views
7

map이 정의 된 파일 context.ml이 있습니다.Ocaml : mli 파일에서 형식 내보내기

module CtxMap = Map.make(struct type t = int let compare = compare end) 

CtxMap.key -> 'a CtxMap.t -> 'a 유형의 함수 map_get

CtxMap 선언을 context.mli 파일에 추가하려면 어떻게해야합니까? xlsx8 mli 파일에 코드를 포함 할 수 없기 때문에이 방법을 찾을 수 없습니다.

답변

8
module CtxMap : Map.S with type key = int 

는 펑터의 서명의 이름은 S이며, key는 외부 모듈에 노출 할 수있는 유일한 추상 형식입니다. 참고로

6

, 당신은 항상 수행 할 수 있습니다

ocamlc -i -c context.ml 

를 출력하는 기본 .mli 파일을 표준 출력. 유일한 문제는지도의 서명을 확장한다는 것입니다 (귀하의 경우).

+1

모든 의존성을 추가하지 않으려면'-c'를 추가해야합니다.이 옵션은 컴파일되지만 링크는하지 않습니다. – nlucaroni

+0

전화 받기 - 내 소식을 수정합니다. –