簡體   English   中英

OASIS內部模塊的“選擇性”未綁定模塊錯誤

[英]OASIS “Selective” Unbound module error for an internal module

我嘗試使用Oasis編譯一個小的OCaml [4.03.0 + flambda]項目。 我有四個模塊,三個在Modules字段中聲明,一個使用InternalModules。 我的_oasis配置文件在那里

內部模塊名為Infix,它包含一個子模塊Option,該子模塊收集一些有用的infix運算符以處理選項類型。 這里的代碼的當前github版本中,一切正常,我能夠構建項目。 無論如何,如果我在源文件agent.ml中添加“ open Infix.Option”行,則現在看起來像

[..LICENSE..]
open Lwt 
open Cohttp
open Cohttp_lwt_unix
open Infix.Option

type http_status_code = Cohttp.Code.status_code
type http_headers = Cohttp.Header.t
[..]

我得到以下錯誤

+ /home/yann/.opam/4.03.0+flambda/bin/ocamlfind ocamlc -c -g -annot -bin-annot -package cohttp -package cohttp.lwt -package lambdasoup -package lwt -package uri -I src -o src/agent.cmo src/agent.ml
File "src/agent.ml", line 23, characters 5-17:
Error: Unbound module Infix.Option

這是意外的,特別是因為我當前的源文件page.ml執行相同的打開操作並使用Infix.Open運算符而沒有任何問題或錯誤。 我想知道發生了什么,為什么綠洲對agent.ml和page.ml的處理方式有所不同...

Lwt有一個Infix模塊,可Lwt您的Infix模塊。 只需反轉打開順序即可。

注意,打開Lwt通常被認為不是很好的樣式。 如果要使用lwt的infix運算符,則應打開Lwt.Infix

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM