erichgess/Flojure

Improve the conversion of Sequential

Opened this issue · 0 comments

When converting sequential expressions, the output Clojure is ugly.

For example, with this F# code: let f x = x*x in printf "a"; printf "b"; printf "c"
The three printf expressions are sequential. Clojure also has a construct which will allow the execution of a sequence of unrelated expressions: the do construct, so the equivalent to the preceding F# code would be (do (print "a") (print "b") (print "c")).

Flojure will correctly convert let f x = x*x in printf "a"; printf "b"; printf "c" into correct Clojure. However, the output is (do (print "a") (do (print "b") (print "c"))), which while correct, is ugly and it is something no one would write.

I want to make the output be (do (print "a") (print "b") (print "c"))