John Wickerson
John Wickerson

Reputation: 1232

What does "open!" mean?

I'm looking at an OCaml source file that begins with the following instruction:

open! MiscParser

I understand that open MiscParser means "open the MiscParser module", but I don't know what the exclamation mark means.

Upvotes: 35

Views: 4383

Answers (2)

Daniel Bünzli
Daniel Bünzli

Reputation: 5167

It's to avoid triggering warnings if the open shadows an exisiting identifier. See the manual.

Upvotes: 48

ethan xu
ethan xu

Reputation: 161

Extending what Daniel said, it also tells the compiler to not warn if the open is not used anywhere in the code. One of the common things people do is to open! Core, since Core is such a useful library that one should just open it even they may not be using it.

Upvotes: 4

Related Questions