How to convert imperative side-effectful program to functional (in Ocaml)?
How to convert imperative side-effectful program to functional (in Ocaml)?
I've been enjoying learning ocaml, but I found it very easy to write code riddled with side effects and imperative-ness.
Take this example:
let some_func arg = let input = format_input_from_stdin () let read_content = read_file "some/file/path.txt" let to_write = get_write_file_content input read_content let () = write_file "some/other/path.txt" to_write let output = run_external_command_with_output (output, read_content)
As you can see, many side effects and imperative steps in the code. Is there a better practice for coding this in a functional manner?