Moreover we can translate lets to lambdas: let () = print_endline "Foo" in let () = print_endline "Bar" in let () = print_endline "Baz" in () (fun () -> (fun () -> print_endline "Baz") (print_endline "Bar")) (print_endline "Foo") Further transformation to use bind instead of function application and wrapping the carried value into a type, leads to monads. On Mon, Jul 22, 2013 at 12:42 PM, oliver wrote: > Maybe it can be called just syntactical sugar... > > > ======================================================================== > > let fun_a () = print_endline "A: FooBar"; > print_endline "A: Baz" > > let fun_b () = > let () = print_endline "B: FooBar" in > let () = print_endline "B: Baz" in > () > > > > let () = > fun_a(); > fun_b() > > > (* or this one:, of course: > > let () = > let () = fun_a() in > let () = fun_b() in > () > > *) > > ======================================================================== > > > > Ciao, > Oliver > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >