Open stephen-swensen opened 8 years ago
The problem is that literal decimals are captured as a call to IntrinsicFunctions.MakeDecimal
which matches this pattern generally used for arrays forms: https://github.com/SwensenSoftware/unquote/blob/ba4bae832b0f5baec6acdb67f1f67e52236f8ae3/Unquote/Decompilation.fs#L130 https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/languageprimitives.intrinsicfunctions-module-%5Bfsharp%5D
We need to somehow evaluate this before decompiling, without doubling up in reduction steps.
It looks like bigint literals have some issues too with regard to reduction
> test <@ 3I = 2I @>;;
Test failed:
3I = 2I
3 = 2
false
F# > 4.0 quotes literal decimals in an odd way compared to other numeric literals such that it confuses the decompiler: