Kelly Nawrocke wrote:
> Ola,
>   I had some papers on A-Normal form and trampolining on the JVM (to
> allow for proper tail call optimization for scheme and ml impls though
> accessing the current continuation in the user code is possible) but
> they seem to be lost.  The one paper compared using return sleds
> (special Class instance that would be returned to the trampoline loop
> capturing the frames all the way down) and exceptions (similar to the
> return sled except used try/catch blocks instead).  They found that
> returning to the trampoline loop every N frames (~40 was optimal at
> the time) was the most efficient.  The code needed to be transformed
> into A-Normal form to allow for proper capture of the current
> continuation (what would be passed to the trampoline loop to unwind
> the stack).  I am going to keep on searching for them and will post
> the links on this thread.
>
> Kelly
>   
Thank you! That would be very helpful. Since the current approach needs 
some careful transformation too, transforming to A-Normal shouldn't be 
much harder. I've considering using versions of trampolining too, of 
course.

Cheers

-- 
 Ola Bini (http://ola-bini.blogspot.com) 
 JRuby Core Developer
 Developer, ThoughtWorks Studios (http://studios.thoughtworks.com)
 Practical JRuby on Rails (http://apress.com/book/view/9781590598818)

 "Yields falsehood when quined" yields falsehood when quined.



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to