[Swift-user] Re: [Swift-devel] Problem with iterate

Ioan Raicu iraicu at cs.uchicago.edu
Thu Feb 18 16:17:22 CST 2010


But wouldn't the single assignment part prevent your example from 
dead-locking? In other words, the compiler should throw an error on line 
"b = cat(a)" as its trying to modify an existing value b.

Mihael Hategan wrote:
> On Thu, 2010-02-18 at 17:08 +0000, Ben Clifford wrote: 
>   
>>> I'm unsure. I have a feeling that static dealdock detection is
>>> undecidable in swift. I need to think some more about that.
>>>       
>> I think doing it statically (i.e. at compile time) is equivalent to 
>> executing the code (including external apps) - I think there's probably a 
>> straightforward example where something depends on an integer read from an 
>> externally executed app which then influences an if statement that decides 
>> which of two different arrays is being written to; or something like that.
>>     
>
> Right. So termination is undecidable by virtue of it being a turing
> complete language. What I'm unsure is whether deadlocks follow as a
> consequence of that. They are a different beast.
>
> We can probably start with simpler things. The following deadlocks with
> the current swift:
> a = cat(b);
> b = cat(a);
>
> So it seems that loops in the graph will create a deadlock and detecting
> loops requires knowing the graph. We can probably detect the static
> parts and we may be able to handle alternatives by issuing warnings of
> the "branch 1 in that 'if' combined with branch 2 in that other 'if'
> leads to a deadlock" sort.
>
> Arrays may be a bit tougher.
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-devel
>
>   

-- 
=================================================================
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: iraicu at eecs.northwestern.edu
Web:   http://www.eecs.northwestern.edu/~iraicu/
       https://wiki.cucis.eecs.northwestern.edu/
=================================================================
=================================================================


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/swift-user/attachments/20100218/e57dcadc/attachment.html>


More information about the Swift-user mailing list