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

Mihael Hategan hategan at mcs.anl.gov
Wed Feb 4 19:43:17 CST 2009


----- "Ben Clifford" <benc at hawaga.org.uk> wrote:

> > Looks like most nested invocations are broken, not specifically
> trace.
> 
> They're not 'broken'. If you think they should work, you're thinking
> far 
> too much along the lines of procedure calls evaluating to a value like
> 
> some kind of referentially transparent thing.

Yes, I am. I think it's reasonable to be able to use procedures with a return arity of one like that.

> Procedure calls *must*
> have 
> an lvalue to their l to give them somewhere to put their l. That's
> been 
> the case forever in Swift and in VDL2.

Right. I'm aware of the nasty issue with this, but I think it's doable.

> Making that not happen is a
> long 
> term goal of mine, but its not in the language now.
> 

I've started looking into it. If I don't get something in the next 8 hours of Swift work, I'll drop it. I want it there because not having it is a bit unintuitive.



More information about the Swift-devel mailing list