Variant of
exp, for use with expressions known to have no side
effects.
BEWARE: Use this function with caution, only when you know what
you are doing. If an expression does in fact have side-effects, then
indiscriminate use of
pure may endanger referential
transparency, and in principle even type safety. Also note that the
function may run more than once and that it may run in parallel with
itself, given that
unsafeDupablePerformIO is used to call the
provided C code
to ensure good performance using the threaded
runtime. Please refer to the documentation for
unsafeDupablePerformIO for more details.