HiSoft BASIC Professional is a fully-featured BASIC that includes many of the features that have come to be expected in modern BASICs. It supports integer, long integer, string and single- and double-precision floating point numbers. Arrays with dimensions limited only by available memory, and string arrays, are also part of the language. These arrays are dynamic--you can re-dimension them (with retention of data, if you want), and erase them, freeing up their memory for other uses. HiSoft BASIC Professional does not require line numbers, although they can be used to maintain compatibility with older BASICs. Labels are available to mark important locations in a program in lieu of line numbers or the two can be combined.
HiSoft BASIC Professional supports FOR/NEXT statements (with an EXIT FOR option to jump out of the FOR loop), WHILE/WEND, DO/LOOP and REPEAT/END REPEAT. The DO/LOOP construct allows the modifiers WHILE and UNTIL at both ends of the loop. If used without modifiers, the DO/LOOP will execute indefinitely, unless an EXIT LOOP statement is encountered. The REPEAT/END REPEAT differs from the norm (REPEAT/UNTIL) since no exit condition can be specified except by using the EXIT option.
HiSoft BASIC Professional also supports powerful decision processes. Both single and multiple line IF statements can be used, along with ELSE, ELSE IF and END IF modifiers. SELECT CASE is also available, so that a series of results can be specified based on the value of a variable. An exact match to the variable, range of values, or a logic test (greater than, less than, etc.) can be used to specify which block of statements to execute. There is even a block which can be executed if none of the other conditions are met (ELSE).