1. A programming language type system comprising: a processor for executing: fixed-point rules that preserve integer-ness for one or more integer operations; integer rules in which integer types are distinct from fixed-point types and integer types can be automatically converted to fixed-point types; and a storage device for storing a result of at least one of executing the fixed-point rules and the integer rules.