<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
Mihael Hategan wrote:
<blockquote cite="mid:1266600879.22169.277.camel@localhost" type="cite">
  <pre wrap="">On Fri, 2010-02-19 at 10:59 -0600, Ioan Raicu wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">But lets bring this back to a more real example. A user wanting to
express some computations that have some dependencies, would write out
their computations in some order, expecting their order to be
preserved because of the dependencies. If you only support single
assignment on variables (e.g. the data), then an example like the one
below could never deadlock because the single assignment would be
violated on the 2nd statement. Perhaps things are more complicated if
you support multiple assignments per variables, but that is not the
case for Swift, right? 
    </pre>
  </blockquote>
  <pre wrap=""><!---->
x = y + 1
y = x + 1

How many assignments are there? 2
How many variables are being assigned? 2
Do those assignments have the same lvalue (thing on the left)? no
---
Conclusion: each variable is assigned exactly once.
  </pre>
</blockquote>
However, y and x have to be defined somewhere, right? If they don't get
their value assigned at definition time, then the statement x = y + 1
should return with an error that y is not defined. <br>
<blockquote cite="mid:1266600879.22169.277.camel@localhost" type="cite">
  <pre wrap="">
  </pre>
  <blockquote type="cite">
    <pre wrap="">I am trying to understand if this deadlock is happening in Swift due
to some particular implementation detail in Swift (or underlying
pieces), or is it a fundamental flaw in the DAG based approach with
single assignment variables? Or is it due to something completely
different?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
It seems to be a fundamental flaw with computers and algorithms.
  </pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">-- 
=================================================================
Ioan Raicu, Ph.D.
NSF/CRA Computing Innovation Fellow
=================================================================
Center for Ultra-scale Computing and Information Security (CUCIS)
Department of Electrical Engineering and Computer Science
Northwestern University
2145 Sheridan Rd, Tech M384 
Evanston, IL 60208-3118
=================================================================
Cel:   1-847-722-0876
Tel:   1-847-491-8163
Email: <a class="moz-txt-link-abbreviated" href="mailto:iraicu@eecs.northwestern.edu">iraicu@eecs.northwestern.edu</a>
Web:   <a class="moz-txt-link-freetext" href="http://www.eecs.northwestern.edu/~iraicu/">http://www.eecs.northwestern.edu/~iraicu/</a>
       <a class="moz-txt-link-freetext" href="https://wiki.cucis.eecs.northwestern.edu/">https://wiki.cucis.eecs.northwestern.edu/</a>
=================================================================
=================================================================

</pre>
</body>
</html>