# Getting Started in OCaml Notes

**URL:** <https://discuss.ocaml.org/t/getting-started-in-ocaml-notes/4265>\
**Category:** Learning\
**Created:** [August 20, 2019, 1:50am UTC](https://discuss.ocaml.org/t/getting-started-in-ocaml-notes/4265 "2019-08-20T01:50:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![philzook58](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/philzook58/32/2363_2.png) [@philzook58](https://discuss.ocaml.org/u/philzook58)\
**Post date:** [August 20, 2019, 1:50am UTC](https://discuss.ocaml.org/t/getting-started-in-ocaml-notes/4265/1 "2019-08-20T01:50:49Z")

</div>

Hi! I’ve been getting going in OCaml over the last couple weeks and wrote down my very [basic notes](http://www.philipzucker.com/notes-on-getting-started-in-ocaml/), more about the ecosystem and learning resources than the language itself. It might seem obvious once you’re deep in OCaml, but it actually was kind of confusing figuring out even the simplest lay of the land. This is kind of a silly soft question, but any suggestions for other tools, libraries, learning resources, things that t would be nice to know about?

Thanks

- Phil

---

<div class="post-metadata">

**Author:** ![bluddy](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/bluddy/32/104_2.png) [@bluddy](https://discuss.ocaml.org/u/bluddy)\
**Post date:** [August 20, 2019, 2:12am UTC](https://discuss.ocaml.org/t/getting-started-in-ocaml-notes/4265/2 "2019-08-20T02:12:32Z")

</div>

Hi Phil

Have you found [Ocamlverse](http://ocamlverse.github.io)? We’d also love to have contributions.

---

<div class="post-metadata">

**Author:** ![philzook58](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/philzook58/32/2363_2.png) [@philzook58](https://discuss.ocaml.org/u/philzook58)\
**Post date:** [August 20, 2019, 2:46am UTC](https://discuss.ocaml.org/t/getting-started-in-ocaml-notes/4265/3 "2019-08-20T02:46:38Z")

</div>

Oh wow. I was a little embarrassed to ask but now I’m glad I did. This is a great resource that I missed somehow. Thanks!

---

<div class="post-metadata">

**Author:** ![Leonidas](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/leonidas/32/4039_2.png) [@Leonidas](https://discuss.ocaml.org/u/Leonidas)\
**Post date:** [August 21, 2019, 10:53pm UTC](https://discuss.ocaml.org/t/getting-started-in-ocaml-notes/4265/4 "2019-08-21T22:53:17Z")

</div>

I would suggest against having multiple stanzas (`executable`, `library` etc) in your `dune` file, since then you need to maintain the `module` set (instead of dune just finding everything in the folder) and the fact that you can’t generate accurate `.merlin` files (since you can only have one per forlder, so should it include the libraries from `main`? `lambda`? Both?)

Also, I wonder if there is any case where you actually need to load topfind in utop? I haven’t had to do this ever in utop (in the toplevel, yes, in utop no).

---

<div class="post-metadata">

**Author:** ![philzook58](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/philzook58/32/2363_2.png) [@philzook58](https://discuss.ocaml.org/u/philzook58)\
**Post date:** [August 21, 2019, 11:02pm UTC](https://discuss.ocaml.org/t/getting-started-in-ocaml-notes/4265/5 "2019-08-21T23:02:26Z")

</div>

Interesting, thanks. That sounds like good advice.

I’m not sure about the topfind thing. I do feel like I’ve been at the point where I’m thrashing around trying to get ocaml to find libraries a couple of times and it has come up in suggestions, but you are correct. When I bring up utop now I don’t need it.
