rescript-compiler
rescript-compiler copied to clipboard
Float comparison optimization bug
let fee = 1. == 1.
let feee = 1. === 1.
let fne = 1. != 1.
let fnee = 1. !== 1.
let fgte = 1. >= 1.
let fgt = 1. > 1.
let flte = 1. <= 1.
let flt = 1. < 1.
compiled to
var fee = true;
var feee = true;
var fne = false;
var fnee = 1 !== 1; // this should be false
var fgte = true;
var fgt = false;
var flte = true;
var flt = false;
The internal implementation of Js_exp_make.ml seems to be missing in the implementation that calls the functions int_comp -> int_equal = float_equal for %noteq. It would be nice to improve the missing optimizations and ambiguous function names of the lambda, lam conversion implementations for each comparison operator.