7 ms·
> It's still sad it can't be relied upon per language spec. :/ There is a @tailrec annotation which ensures that a method was optimized. It probably needs to b
by premium-concern 10y ago
> It's still sad it can't be relied upon per language spec. :/
There is a @tailrec annotation which ensures that a method was optimized. It probably needs to be updated to understand Scala-Native's new abilities, but the infrastructure is there!
- lomnakkus 10y agoYes, but IIRC it doesn't work for mutually recursive methods or dynamic(!) tail calls.
- premium-concern 10y agoYes, because Scala-Native only exists for a month at this point in time.
- lomnakkus 10y agoHm? Not sure why you're bringing up Scala-Native again... @tailrec has existed since 2.8(?). The limitations of @tailrec are obviously due to the JVM, but I was thinking (given your mention) that maybe Scala-Native had done away with the problem -- if you use the "Pascal" calling convention I believe it's mostly completely trivial to do TCO. (Just omit the "push/pop things onto/off stack" bit in the caller and use "goto".)
- premium-concern 10y ago> Not sure why you're bringing up Scala-Native again Weren't talking about that? > @tailrec has existed since 2.8 Yes? > I was thinking (given your mention) that maybe Scala-Native had done away with the problem It uses fastcc, and yes it does. I don't understand the issue.