How to load core in the toplevel?

Anil Madhavapeddy anil at recoil.org
Wed Nov 7 16:42:36 GMT 2012


You should also add "#camlp4o" so that toplevel syntax extensions work too.

I'd really recommend using 'utop' (installable via OPAM) instead of the default toplevel. It doesn't require the extra -I that the default toplevel needs, and has a really nice interactive interpreter.

My full .ocamlinit with utop is:

#use "topfind"
#camlp4o
#thread
#require "core.top";;
#require "async";;
open Core.Std
open Async.Std


-anil

On 7 Nov 2012, at 05:33, Francois Berenger <francois.berenger.working at gmail.com> wrote:

> Thanks a lot.
> 
> So, the whole recipe in my case was:
> 
> ocaml -I $OCAML_TOPLEVEL_PATH
> #thread;;
> #require "core.top";;
> #require "async";;
> 
> Regards,
> F.
> 
> On Wednesday, November 7, 2012 12:09:15 PM UTC+9, Sebastien Mondet wrote:
> 
> 
> I think that one is the  
>    #thread;;
> thing
> 
> 
> 
> 
> On Tue, Nov 6, 2012 at 10:06 PM, Francois Berenger <francois.ber... at gmail.com> wrote:
> Thanks! That fixes the problem partially.
> 
> Now, I get:
> 
> # #require "core.top";;
> # #require "core.top";;stem/lib/core/core.cma: loaded
> Error: Reference to undefined global `Condition'
> # #require "core";;
> # #require "core";;m/system/lib/core/core.cma: loaded
> Error: Reference to undefined global `Condition'
> # #require "async";;
> # #require "async";;/system/lib/core/core.cma: loaded
> Error: Reference to undefined global `Condition'
> 
> Any hint?
> 
> 
> On Wednesday, November 7, 2012 11:54:47 AM UTC+9, Sebastien Mondet wrote:
> 
> I'm not sure if this is your problem, but there was something with the toplevel (comming with the system compiler) not knowing about opam packages. 
> I have to launch:
> 
>    ocaml -I $OCAML_TOPLEVEL_PATH
> 
> (the variable OCAML_TOPLEVEL_PATH is set by eval `opam config -env`)
> 
> 
> On Tue, Nov 6, 2012 at 9:37 PM, Francois Berenger <francois.ber... at gmail.com> wrote:
> Apparently, ocamlfind knows where these libraries are:
> 
> $ ocamlfind -query core
> /home/berenger/.opam/system/lib/core
> $ ocamlfind -query async
> /home/berenger/.opam/system/lib/async
> $ ocamlfind -query async_extra
> /home/berenger/.opam/system/lib/async_extra
> 
> 
> On Wednesday, November 7, 2012 11:32:43 AM UTC+9, Francois Berenger wrote:
> Hello,
> 
> I'd like to play with core in my toplevel.
> 
> Is there a recipe?
> 
> I have installed everything with OPAM:
> $ opam list | egrep "core|async"
> async                 108.07.01  Monadic concurrency library
> async_core            108.07.01  Monadic concurrency library
> async_extra           108.07.01  Monadic concurrency library
> async_unix            108.07.01  Monadic concurrency library
> core                  108.07.01  Industrial strength alternative to OCaml's standard library
> core_extended                --  Extra components that are not as closely vetted or as stable as Core
> 
> In my toplevel, I type
> #use "topfind";;
> #list;;
> 
> Nothing about core or async shows up.
> While parmap is there, for example.
> 
> Is this normal?
> 
> I guess there is some configuration file of findlib to tweak somewhere.
> 
> Regards,
> F.
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/core/attachments/20121107/693b19b4/attachment-0001.html>


More information about the core mailing list