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

This still depends on the design of the language, though. Consider Java. There is definitely a pure functional subset of the language. However, any time you call across an object boundary the compiler has no way to know that the call can be treated as functional - because the language has late binding, and the actual implementation is swappable. In practise the JIT learns stuff like this and transforms it at runtime. That extra effort is needed because the language can't guarantee functional purity.

The point here being that some design decisions that add functionality remove the ability to rely upon design assumptions.



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

Search: