Dire che ho un file di libreria OCaml foo.cma. C'è uno strumento da riga di comando per stampare la firma delle funzioni e altri tipi definiti lì? L'utilità ocamlbrowser sembra essere basata su Windows (si lamenta della variabile d'ambiente $ DISPLAY). Il caso d'uso è che io sto facendo un:esamina la firma della libreria (.cma) dalla console
ocamlc -c foo.cma main.ml
e ottengo:
File "main.ml", line 13, characters 33-47:
Error: Unbound value ListUtil.split
ListUtil.split dovrebbe risiedere in foo.cma, ma non so di uno strumento basato su console per verificare esso.
Sì, è utile, tuttavia presuppone che si conoscano i nomi dei moduli compilati insieme nel file cma. Ad esempio, se ho un file foo.cma con due moduli separati, ad esempio foo1 e foo2, compilato come: 'ocamlc -a foo1.cmo foo2.cmo -o foo.cma' allora c'è un modo per ottenere un file elenco di tutti i moduli trovati nel file .cma o si deve sapere in anticipo i nomi? Sembra strano, in ogni caso, che l'utilità della console non sia fornita immediatamente. –
Con il metodo toplevel, puoi vedere tutti i moduli nel file cma. Per conoscere il modulo in anticipo, è necessario archiviare il file mli o, in caso contrario, nel file sorgente. Altrimenti, non so davvero come farlo. – cago