Skip to content

Comment on A brief introduction to OCamlparent

Comments

The idea is you can write this:

    let _ = print_string "foo"
    let _ = print_string "bar"
at the top level.

Of course you can write

    let msg = "foo" in print_string msg
    let msg = "bar" in print_string msg
(which isn't at issue, except no semicolons are needed.)

But you can't write

    print_string "foo"
    print_string "bar"
without semicolons.
The idea is you can write this:
let _ = print_string "foo"
let _ = print_string "bar"
at the top level.

Ah. Well, the solution is not use "let _" or ";;", the solution is to avoid sociopathic code like that. Module definition with built-in, unavoidable side effects are evil.

You need at least one module that does something at top-level, otherwise your program won't do anything.

For serious development, yes, but consider the people who are learning OCaml. One of the first programs is going to be some kind of side effecting hello world etc.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.