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

I think there has existed Erlang to C compilers in the past and there are new one popping up every now and then. In general though AOT is in many ways considered a dead end for many unless you have a certain application for it (even if that was my uni thesis subject).

You can look back all the way to a 1995 paper (1) (with people that then worked on early Java JIT's) that did a comparison of JIT vs AOT compilation for Self, while good AOT is kind of feasible in many ways there is always situations in languages not initially designed for AOT where a JIT won't be forced to go with conservative estimates that hampers performance.

(1) https://www.cs.ucsb.edu/research/tech-reports/1995-04



The 1995 paper compares Self 1 and 2 which was a JIT which was based on type inference with Self 3 and 4 which was an adaptive compiler (where Java's Hotspot technology came from) which was able to use type feedback thanks to the second compiler having access to the results of running code from the first compiler.

So AOT compilation was not tested in that paper.


Was a while ago since i read the paper but at the time Agesen's CPA algorithm was among the most powerful for type inference (and while we've had a bunch of incremental improvements in the field there hasn't really been any order of magnitudes better algorithm that can handle edge cases that many dynamic languages produce), so regardless of if the Self runtime was JIT or AOT the algorithm choice showed what was feasible/usable with AOT.




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

Search: