# Cmdliner opam basic question

**URL:** <https://discuss.ocaml.org/t/cmdliner-opam-basic-question/2187>\
**Category:** Community\
**Created:** [June 22, 2018, 3:52pm UTC](https://discuss.ocaml.org/t/cmdliner-opam-basic-question/2187 "2018-06-22T15:52:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![indykish](https://avatars.discourse-cdn.com/v4/letter/i/ba8739/32.png) [@indykish](https://discuss.ocaml.org/u/indykish)\
**Post date:** [June 22, 2018, 3:52pm UTC](https://discuss.ocaml.org/t/cmdliner-opam-basic-question/2187/1 "2018-06-22T15:52:04Z")

</div>

I have a question on both these code.

### Sample 1

```auto

open Cmdliner

let revolt () = print_endline "Revolt!"

let revolt_t = Term.(const(revolt) $ const(()))

let () = Term.exit @@ Term.eval (revolt_t, Term.info "revolt")

```

### Sample 2

```auto

open Cmdliner

let revolt () = print_endline "Revolt!"

let revolt_t = Term.(Term.const(revolt) $ Term.const(()))

let () = Term.exit @@ Term.eval (revolt_t, Term.info "revolt")

```

Both `Sample 1` and `Sample 2` compiles.

In `Sample 2`, i explicitly referenced `Term.const(`

I would like to know how this compiles.

### let revolt\_t = Term.(const(revolt) $ const(()))

How does `Term.(const` know to use the Term.const ?

---

<div class="post-metadata">

**Author:** ![zozozo](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/zozozo/32/59_2.png) [@zozozo](https://discuss.ocaml.org/u/zozozo)\
**Post date:** [June 22, 2018, 3:57pm UTC](https://discuss.ocaml.org/t/cmdliner-opam-basic-question/2187/2 "2018-06-22T15:57:16Z")

</div>

The syntax `ModuleName.(some_expression)` is actually the same as `let open ModuleName in expression`, thus in `Term.(const ...)`, when the compiler arrives at `const` it has imported all of the declarations from `Term` in the environment.

---

<div class="post-metadata">

**Author:** ![indykish](https://avatars.discourse-cdn.com/v4/letter/i/ba8739/32.png) [@indykish](https://discuss.ocaml.org/u/indykish)\
**Post date:** [June 23, 2018, 1:51pm UTC](https://discuss.ocaml.org/t/cmdliner-opam-basic-question/2187/3 "2018-06-23T13:51:19Z")

</div>

Thanks. Makes sense.
