On Fri, 04 May 2012 20:30:05 -0400, Alex Rønne Petersen
<[email protected]> wrote:
Purity inference won't happen either way. Purity is part of your API and
also meant to help you reason about your code. If the compiler just
infers purity in a function and you later change the implementation so
it's no longer pure, you break your users' code. Also, purity would no
longer help you reason about your code if it's not explicit.
It can be pure for the purposes of optimization without affecting code
whatsoever. Inferred purity can be marked separately from explicit
purity, and explicitly pure functions would not be allowed to call
implicitly pure functions.
-Steve