No, the problem was not with
FIX, which was implemented in SpecBAS all right (though under the name INT), but rather with
INT proper that's an equivalent to the
floor() function in C.
FBSL BASIC did not use classic BASIC
INT function name for truncation towards negative infinity because, similar to C, FBSL also uses casts. FBSL BASIC's C-stylish
int cast is equivalent to stripping a floating point number of its decimal digits altogether without concurrent rounding in any direction. It's the fastest thing you can do to avoid function call and exec overhead, and in many cases it is sufficient to achieve the desired conversion effect. OTOH INT, FIX, ROUND and the like are math functions incurring call/return overhead and multiple CPU/FPU operations.
We deemed it unreasonable to confuse the FBSL users with similar sounding
int casts and
int function, so we decided to call our int function
Floor(), and again similar to C, its counterpart
Ceil() that we used to truncate floating point numbers towards positive infinity.
After all, a modern mature BASIC's semantics and vocabulary are supposed to get richer 50+ years since Dartmouth, aren't they?
(Stop grumbling, John, it's unreasonable to keep waving fists after the fight. )