F# does not provide any features and tools for checking that methods are pure, so a simple answer is that you have to check this property yourself.
Outside of F#, it is worth noting that Code Contracts library has a notion of pure methods (and they can be marked with PureAttribute
), but I'm not entirely sure what is the checking story there. I think Code Contracts come with static checker that analyses IL (and should work for F# too), but this is quite difficult task, so I would expect it to be quite limited. However, the PureAttribute
is used on some BCL methods, so you can tell that some standard .NET methods are pure.