SmallBASIC version 0.11.16 (ubuntu) has been released

Forums: 
SmallBASIC implementations: 

SmallBASIC version 0.11.16 for Ubuntu is now available.

This release includes language and performance improvements.

Variables:

The MAP variable type combines the features of previously separate "User Defined Structures" and "Associated Array" variables. The MAP provides value-key pair access along with array or dotted notation. The MAP can be initialized from a String variable using the ARRAY command. The ARRAY command supports JSON (Javascript object notation) syntax.

The MAP can be converted back into a JSON string using the STR command. You can test whether a variable is a MAP using the ISMAP command.

The ARRAY command can be used to process web services results. For example: https://raw.githubusercontent.com/smallbasic/SmallBASIC/master/samples/d...

The REF variable type is a "reference" to another variable (like a pointer in c). You create a reference by assigning a variable with the BYREF keyword (or @ symbol). For example LET c = @ b. You can test whether a variable is a reference using the ISREF command.

Commands:

The IMGW and IMGH commands have been replaced with the single IMAGE command. IMAGE takes a file pointer and returns a system object allowing full control of the image placement. Note: In this release only the language aspect has been implemented. This feature will be completed in the next build.

Added the SHOWPAGE command. This command is used to display pending graphics operations allowing for smooth animations.

Added TRY/CATCH support - see http://smallbasic.sourceforge.net/?q=node/1229

Compiler:

- It is now possible to use unary-operators on array elements, for example a(0)++.
- Handling of round brackets with FUNC calls has been fixed.
- Renamed command "#UNIT-PATH:" to "UNITPATH"
- Renamed command "#INC:" to "INCLUDE"
- Fixed/implemented INCLUDE command.