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

That's data flow, which is fine: the dependency is explicit, checked by the compiler, and maintained regardless of where the code lives.

For example, if 'foo = g(x)' is defined in one module, and another module does 'f(foo)', then the data flow is preserved. If we try to force things to be the wrong way round, we'll get compiler errors like 'No such variable foo'.

Compare that to temporal ordering of statements; if one module executes 'g(x)' and another executes 'f()', how do we ensure the latter occurs after the former? How could the compiler tell us if they're the wrong way around? Very difficult.



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

Search: