- Integers: objects of that type represent non-negative integers, i.e whole
numbers which are greater than or equal to 0.
HL integers should be represented by instances of the Java BigInteger class.
- Boolean: programmers can declare and use Boolean variable or literals.
However, since conditions are only used as tests for if and while statements,
and boolean operations are only defined in conditions, this limits the way boolean variables
are used, and HL booleans are therefore not a full-fledged type like in OOP languages such as
HL booleans should be represented by instances of the Java Boolean class.
- Polynomial: HL polynomials are objects that represent polynomials in one variable
whose coefficients and exponents are integers. The coefficients must be BigIntegers, but
you can assume that the exponent are integers which can be positive or negative
(i.e. they are BigIntegers that are small enough to be converted into Integers and ints).
HL polynomials will need their own HLpolyn class.
This class will need to support the following HL features:
Unline the ASTpolyn structure which only contained one term of a polynomial,
an HLpolyn should contain all terms of the polynomials.
These terms are ordered from highest degree to lowest degree.