How to run OCaml + Core script?
ocaml
Solution
Running a script that depends on additional libraries requires you to tell the compiler where to find the libraries. Your best option is to use `ocamlscript`, which you can also install with OPAM. Just do `opam install ocamlscript`. Then read about ocamlscript here. Here's a working example:
$ cat a.ml
#! /usr/bin/env ocamlscript
Ocaml.ocamlflags := ["-thread"];
Ocaml.packs := [ "core" ]
--
open Core.Std
let () = print_endline "hello"
Make sure `a.ml` has the executable bit set. Then run it:
$ ./a.ml
hello
As a bonus, `ocamlscript` also compiles to native code, so you get high performance scripts.
Problem
I am trying the Real World OCaml book. It talks about installing OPAM, then OCaml and Jane Street Core. I got utop loaded properly per the book instructions so that it automatically loads Core. Without Core, I can run a generic OCaml script simply by `ocaml script.ml` without compiling. But this doesn't work if the script uses Core. What's the right command if I want to run a Core based OCaml script without compiling?