Hacker News new | past | comments | ask | show | jobs | submit login

If we're being pedantic, it's really a problem of degrees - any space-based optimization, like the padding and ordering of struct members, could cause a program to crash by running out of stack or heap. In that case, turning off (or on!) optimizations may cause a program to crash.



Let's be extra super pedantic.

If (let x () (x)) is allowed to take more than a constant amount of space, then for any finite memory there is always some finite runtime after which the program will exhaust the memory.

With proper tail calls, there is always some finite memory above which the program will not consume, even given an arbitrarily long runtime.

So, while it is a problem of degrees, one degree is infinite while the other is finite.




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

Search: