Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree that it messes with calling conventions.

This is a problem for AOT languages, where binary compatibility is paramount and so you cannot change the calling convention. Since tail calls don't play well with existing native conventions, they end up being hard (or sometimes even impossible) to implement.

That's not really an issue in JS or other VM-based languages. JS VMs don't make their internal calling conventions public. In JSC, our old calling convention was incompatible with PTC, so we changed our calling convention to make PTCs work.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: