The pages associated to this page cover the syntax of ZPE/YASS as well as some underlying development strategies and some of the key concepts. If you are using the ZPE Programming Environment or YASS you should find this set of pages very useful.
The current version of the ZPE Programming Environment is 1.14.9 (built 31-08-2026, known as Spurriergate). The documentation found in this manual will be, for the most part, related only to this version of the ZPE Programming Environment and YASS version YASS 26.9 onwards.
This documentation is specific to my ZPE/YASS implementation.
Getting started
When you have downloaded the ZPE Programming Environment executable you will need to know how to use it.
What's new in ZPE?
Discover the features, improvements and fixes delivered in every recorded version of ZPE. The release guide is generated from the changelog, so it automatically moves on when a new version is added.
See what's new in ZPE 1.14.9 View the full changelog
Practical guides
These guides bring together the language features, objects and functions needed to complete a real task.
Features
These pages explain important capabilities of the ZPE runtime and YASS language:
Language guide
Use these sections as the reference for YASS syntax, constructs and data types.
Expressions
The following is a list of all the syntax for all of the language expressions available in YASS:
Language constructs
The following is a list of all the syntax for all of the language constructs for YASS:
Data types
Built-in modules documentation
As of ZPE 1.14.5, there are new built-in modules. These are means of keeping methods, constants, and objects organised. You can read more about modules here.
Built-in object syntax documentation
The following documentation covers objects built-in to the language itself
and how they work as well as their exposed functions. Note that not all
objects are directly constructable from the code, for example the Response
object can only be created when the http_post function
is called.
Official plugin documentation
The following documentation covers the official plugins for ZPE.
Predefined functions
The following is a concise list of all built-in functions and links to pages dedicated to them. There is more information on predefined functions above.
The list is always in sync with the latest version of ZPE because
it comes from ZPE itself (since version 1.8.2). You can generate this list
using the json_encode(list_zpe_functions()) within the engine itself
as I do.
Core
System
ZPE
I/O
Networking
Numerical and Arithmetic
Scientific Mathematics
Logical
Security & Cryptography
String
- integer_to_character [1.3.3+]
- character_to_integer [1.3.3+]
- string_get_character_at [1.3.1+]
- string_get_length [1.3.1+]
- string_count_occurrences [1.13.7+]
- string_contains [1.3.2+]
- string_split [1.3.3+]
- string_split_lines [1.0+]
- string_splice [1.5.0.1+]
- string_divide [1.5.0.1+]
- string_find_occurrences [1.3.3+]
- string_get_substring [1.3.3+]
- string_to_lowercase [1.3.3+]
- string_to_uppercase [1.3.3+]
- string_replace [1.3.3+]
- string_starts_with [1.3.3+]
- string_ends_with [1.3.3+]
- string_cut [1.5.0+]
- string_trim [1.3.5.90+]
- string_trim_start [1.3.5.90+]
- string_trim_end [1.3.5.90+]
- string_matches [1.3.3+]
- string_to_date [1.3.4+]
- string_is_numeric [1.3.2+]
- string_is_lowercase [1.3.7.1+]
- string_is_uppercase [1.3.7.1+]
- string_text_compare [1.7.9+]
- string_compare [1.11.12+]
- input_validate [1.7.3+]
- format_string [1.9.9+]
File
- is_symlink [1.10.7+]
- create_symlink [1.10.7+]
- replace_symlink [1.10.7+]
- list_drives [1.8.6+]
- is_directory [1.3.2+]
- directory_exists [1.3.2+]
- directory_is_empty [1.14.4+]New
- directory_list_files [1.3.5.32+]
- directory_create [1.4.23+]
- is_file [1.3.2+]
- file_is_child_of [1.14.3+]New
- file_exists [1.3.2+]
- file_touch [1.9.13+]
- file_get_size [1.5.0+]
- file_get_name [1.4.0.23+]
- file_get_path [1.8.10+]
- file_get_parent_path [1.8.10+]
- file_open [1.7.6+]
- file_get_bytes [1.8.5+]
- file_put_bytes [1.8.6+]
- file_get_contents [1.3.2+]
- file_get_lines [1.0+]
- file_put_contents [1.3.2+]
- file_copy [1.4.1+]
- file_delete [1.4.2+]
- file_zip [1.13.10+]
- file_unzip [1.13.10+]
- compare_files [1.0+]
- create_temporary_file [1.8.6+]
List
- array_to_list [1.7.6+]
- list_get_data_type [1.7.10+]
- list_to_array [1.7.6+]
- list_add_element [1.3.1+]
- list_remove_element [1.3.1+]
- list_remove_all [1.9.10+]
- list_get_at_index [1.3.2+]
- list_get_or_default [1.0+]
- list_get_or_exit [1.0+]
- list_get_or_error [1.0+]
- list_get_at_random_index [1.4.4+]
- list_shuffle [1.8.2+]
- list_compress [1.8.9+]
- list_pop [1.4.2+]
- list_dequeue [1.4.2+]
- list_get_length [1.3.2+]
- list_contains [1.3.2+]
- list_contains_all [1.9.13+]
- list_get_index_of [1.3.3+]
- list_count_occurrences [1.8.3+]
- list_count_if [1.8.3+]
- list_find_duplicates [1.7.8+]
- list_insert_at_index [1.3.3+]
- list_set_at_index [1.3.4.90+]
- list_reverse [1.3.3+]
- list_sort [1.3.4+]
- list_swap_elements [1.3.3+]
- list_join [1.3.3+]
- list_slice [1.7.6+]
- list_is_a_set [1.3.7.1+]
- list_populate [1.7.3+]
- list_auto_populate [1.7.6+]
- list_process [1.7.6+]
- list_combine [1.8.7+]
- list_compose [1.10.1+]
Set
Maps
Data
Utilities
Old functions that have since been removed but still have documentation are available here.
