Browse thread
Toplevel - load cmo from given location
-
Dawid Toton
-
Christophe TROESTLER
-
Dawid Toton
- Richard Jones
-
Dawid Toton
- Zheng Li
-
Christophe TROESTLER
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2009-01-09 (21:39) |
From: | Richard Jones <rich@a...> |
Subject: | Re: [Caml-list] Toplevel - load cmo from given location |
On Fri, Jan 09, 2009 at 03:08:18PM +0000, Dawid Toton wrote: > > >>The problem is that it gives "Unbound module Enum" while no error about > >>loading the cmo&cmi is shown. > > > >The #directory instruction is needed to find the .cmi. > > I see, so there are 2 problems: > * why the failure to load cmi is silent in this case? > * why the toplevel fails to check for cmi where the cmo is located? This > looks as incorrect behaviour (the reference manual doesn't mention any > exceptional rules for the #load directive). As you say this is kind of a bug. You cannot solve it by assuming some sort of one-to-one relationship between .cmi files and .cmo files though. You can have .cmi without .cmo, or .cmo without .cmi, or lots of .cmi and a .cma, and probably other combinations. Couple of practical points though: (1) Use ocamlfind in the toplevel to solve all these problems: # #use "topfind";; - : unit = () Findlib has been successfully loaded. Additional directives: #require "package";; to load a package #list;; to list the available packages #camlp4o;; to load camlp4 (standard syntax) #camlp4r;; to load camlp4 (revised syntax) #predicates "p,q,...";; to set these predicates Topfind.reset();; to force that packages will be reloaded #thread;; to enable threads - : unit = () # #require "netstring";; /usr/lib64/ocaml/pcre: added to search path /usr/lib64/ocaml/pcre/pcre.cma: loaded /usr/lib64/ocaml/unix.cma: loaded /usr/lib64/ocaml/netsys: added to search path /usr/lib64/ocaml/netsys/netsys.cma: loaded /usr/lib64/ocaml/netstring: added to search path /usr/lib64/ocaml/netstring/netstring.cma: loaded /usr/lib64/ocaml/netstring/netstring_top.cmo: loaded /usr/lib64/ocaml/netstring/netaccel.cma: loaded /usr/lib64/ocaml/netstring/netaccel_link.cmo: loaded (2) Bugs should go in the bug tracker here: http://caml.inria.fr/mantis/ Rich. -- Richard Jones Red Hat