The following is a summary of the language elements found in VPascal.

Data Types
Scalars (boolean, 32-bit integer, 64-bit floating-point, 128-bit complex, 48-bit RGB, 96-bit floating-point RGB), images & arrays (1-bit, 8-bit, 16-bit signed & unsigned, 32-bit signed, single- & double-precision floating-point, single- & double-precision complex, 24-bit RGB, 48-bit RGB & 96-bit RGB), strings and the null type (uninitialized). Arrays may be 1, 2 or 3 dimensional.

Declarations
Constant declarations and variable declarations. User-defined procedure and function declarations with local and parameter declarations. Declare variables or procedures as DDE "shares". Declare procedures or entire programs as button or menu-activated. Declare external DLL library functions.

Control Statements 
Program flow control with if-then and if-then-else statements. For-loops for executing statements a predefined number of times. Repeat-loops for executing statements until a condition is true. While-loops for executing statements while a condition is true.

Expressions 
Mathematical expressions of any complexity. Expression operators are arithmetic, logical, or relational. Expression operands are scalars, images and function results. Full support for complex and RGB numbers. Expressions may involve scalars, vectors, matrices, images, sequences and combinations of these. Image expressions are treated identically to scalar expressions.

Array Index Notation
Arrays and images are formally identical. Arrays may be indexed using scalars or scalar expressions. Image sub-regions and sub-volumes may be addressed directly using index range notation. Range checking occurs at runtime.

Arithmetic Operators 
Addition (+), subtraction (-), multiplication (*) division (/) and modulo. Arithmetic operations are defined for all scalar-scalar, image-scalar and image-image operands. Floating-point to fixed-point conversion using rounding, truncation, ceiling or floor functions.

Logical Operators 
Bit-wise and boolean logical operators: AND, OR, XOR, NOT, NAND, NOR and XNOR. Logical operations are defined for all fixed-point scalar-scalar, image-scalar and image-image operands. Bit-wise shift operators: SHL, SHR and SAR. Bit-wise rotate operators: ROL and ROR. Shift and rotate operations are defined for all fixed-point scalar-scalar and image-scalar operands.

Relational Operators 
Greater than (>), less than (<), equal to (=), greater than or equal to (>=), less than or equal to (<=) and not equal to (<>). Relational operations are defined for all scalar-scalar, image-scalar and image-image operands.

User-defined Routines 
User-defined procedures and functions. Pass parameters (scalars, images and strings) to routines. Functions can return any type, including images. Local constant and variable declarations. Late-binding of parameters and function results provides for polymorphic code.

Parameter Passing 
Parameters are passed to procedures and functions by value (a copy is made prior to entry) or by reference (address of parameter is passed).

Predefined Dialogs 
Utility dialogs to simplify user interaction: error dialog, information dialog, confirmation dialog, image selection dialog, string-selection dialog, number entry dialog, string entry dialog and halt dialog.

External Code 
Call external DLL functions written in any language. Call Windows API functions directly. Execute external applications. Add support for specialised hardware.

Windows Interaction 
Control size and position of image windows on desktop. Show and hide image windows. Minimise, maximise and restore image icons and V for Windows application. Tile or cascade desktop windows and arrange desktop icons. Print. Write to the status bar. Create custom toolbars and menus. Call Windows API functions directly. 

Built-in Functions 
Over 400 standard functions built-in. Categories include: colour functions, data type conversion, DDE (dynamic data exchange client and server), editor management (text windows), file management, convolution and order-statistic filters, geometric functions, image management, desktop-image management, user input & output, intensity (contrast and histogram) functions, math functions, memory management functions, object analysis and counting, graph plotting, image and text printing, serial communications, image and sequence size functions, statistics (regular and ensemble), string functions, utilities (e.g. timing functions, playing sounds), video capture, Windows interaction and much more.