`integer`>/<

`nonneg`> alternative. Here, <

`integer`> follows the normal rules for Prolog decimal integers and <

`nonneg`> does the same, but does not allows for a sign. Note that the parser translates a rational number to its canonical form which implies there are no common divisors in the resulting numerator and demoninator. Examples of ration numbers are:

1/2 | 1/2 |

2/4 | 1/2 |

1 000 000/33 000 | 1000/33 |

-3/5 | -3/5 |

We expect very few programs to have text parsed into a rational
number while a term was expected. Note that for rationals appearing in
an arithmetic expression the only difference is that evaluation moves
from runtime to compiletime. The utility list_rationals/0
may be used on a loaded program to check whether the program contains
rational numbers inside clauses and thus may be subject to compatibility
issues. If a term is intended this can be written as `/(1,2)`

, `(1)/2`

or some variation thereof.^{28We do
not recomment using white space around the /
o}