[Swift-devel] strange behavior evaluating function call as trace arg

Mihael Hategan hategan at mcs.anl.gov
Sat Feb 7 14:04:25 CST 2009


I think that the particular way in which the implementation
manages to do the dataflow (i.e. returns as ref args) should
not be in the intermediate .xml file.

In other words, y = f(x) should be:

<assign>
  <var>y</var>
  <call proc="f">
    <var>x</var>
  </call>
</assign>

not

<call proc="f">
  <output>
    <var>y</var>
  </output>
  <input>
    <var>x</var>
  </input>
</call>

That scheme can be applied later when generating the karajan
code. The current stuff complicates reasoning about the 
intermediate code (e.g. typechecking).



More information about the Swift-devel mailing list