Features

Vector Pascal is an extended Pascal incorporating:

- Unicode support New in version 4

        Programs may be input in Unicode, allowing Chinese, Greek, Japanese and Russian characters in variable names.

        Strings can contain Unicode.

        Characters are 16 bit.

        Conversion to and from UTF-8 performed on input and output.

        Mathematical operators √ , ∏, ∑, ≤, ≥, , can now be entered in Unicode rather than as ASCII surrogates

- Vector Pascal extensions aimed at vector processing. These are derived from APL and similar to the extensions provided in Fortran90. These extensions translate to the SIMD instructions of the Athlon and P4 etc.

        All operators extended to arrays eg: a:=a +b where a,b:array[y] of t;

        All monadic functions map over arrays eg: p:=sin(q); where p,q:array[1..n] of real;

        TRANS transposes a matrix

        The reduction functional \ can perform array summation etc

        Array slices of the form A[ i..j]:= K[i+1..j+1]

        Read and write operate on multidimensional arrays

- New operator extensions

        User defined operators allowed

        Operators +: and -: perform saturated arithmetic

        MIN and MAX

- Type system extensions

        Type pixel predefined as fixed point number in range 1 .0 to 1.0

        Sets of strings, reals, etc allowed. New in version 4

        Dimensioned reals allow distinct and incompatible types for time, distance, mass etc

        Generic Units allow the writing of polymorphic functions

- Many of the features of ISO extended Pascal (see http://www.dcs.gla.ac.uk/~wpc/reports/compilers/compilerindex/iso10206.ps ) in particular

        Schematic array types

        Extended formats of Pred and Succ

        Any type can be returned by a function

        Operators ** and POW for exponentiation and Power

        >< for set symmetric difference

        Complex numbers

        Protected parameters

        Sets of arbitrary cardinality

        For x in y do for set iteration

- Turbo Pascal features

o Units, Strings, Turbo Pascal style file operations

 

A comparison with other languages and implementation details are given in Vector Pascal an Array Language .