Open cgrand opened 1 year ago
Lifting statements out of expressions is a concern through all the compiler emit-* functions.
emit-*
I propose we extract that concern into a distinct pass.
Currently we have
text -(reader)-> clj forms -(emit)-> dart-sexp -(write)-> dart text
where dart-sexp is our internal representation of the subset of dart we target.
dart-sexp
With this proposal we would have
text -(reader)-> clj forms -(emit)-> dart-sexp -(lift)-> dart-sexp -(write)-> dart text
After lift the dart sexp representation would be guaranteed to be properly lifted and thus writeable.
lift
Lifting statements out of expressions is a concern through all the compiler
emit-*
functions.I propose we extract that concern into a distinct pass.
Currently we have
where
dart-sexp
is our internal representation of the subset of dart we target.With this proposal we would have
After
lift
the dart sexp representation would be guaranteed to be properly lifted and thus writeable.