/ test.ml
test.ml
1 (fn let => 2 let (fn query => (println query).bind fn x => input) fn ask => 3 (ask "Give me your name").bind fn name => 4 (ask "Give me your birthdate").bind fn bd => ((println name).bind fn x => println bd) 5 ) (fn x => fn f => f x) 6 7 (println "Foo").bind fn x => println "Bar" 8 9 (fn x => fn y => fn z => y) (println "X: Should not run") (println "Y: Should run") (println "Z: Should not run") 10 11 (fn let => 12 let "foo" fn x => 13 let (fn query => (println query).bind fn x => input) fn ask => 14 (ask "Give me your name").bind fn name => 15 (print "Hello ").bind fn a => println name 16 ) (fn x => fn f => f x) 17 18 (fn ask => 19 (ask "Give me your name").bind fn name => 20 (print "Hello ").bind fn a => println name 21 ) (fn query => (println query).bind fn x => input) 22 23 (input ()).bind fn i => 24 (print "Hello").bind fn x => 25 (print " World! ").bind fn y => 26 (println i).bind fn z => 27 (println "How are you?").bind fn w => input