Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Official ZPE/YASS documentationFunction data type

The function data type is one of the most powerful data types in ZPE/YASS. In ZPE/YASS functions are first-class citizens and can be operated on similarly to other data types.

Functions, although a reference type, do not provide any reference functions.

In a strongly typed program, functions are declared with a data type using the fn keyword. Prior to version 1.12.11 this was the function keyword, but to avoid ambiguity this was changed.

The following is an example of the function data type in action, including using it with TYPO:

YASS
$a = function(){ print("Hello world!") }

//Using TYPO (version 1.9.7+)
declare b as fn = () => { print("Hello world!") }
  

Variables containing functions are called lambda or anoymous functions. These variables can be 'called' like a standard function:

YASS
$printer1 = function(){ print("Function A!") }
$printer1()
declare printer2 as fn = () => { print("Function B!") }
printer2()
  
Comments

There are no comments on this page.

New comment

Comments are welcome and encouraged, including disagreement and critique. However, this is not a space for abuse. Disagreement is welcome; personal attacks, harassment, or hate will be removed instantly. This site reflects personal opinions, not universal truths. If you can’t distinguish between the two, this probably isn’t the place for you. The system temporarily stores IP addresses and browser user agents for the purposes of spam prevention, moderation, and safeguarding. This data is automatically removed after fourteen days.

Comments powered by BalfComment

Feedback 👍
Comments are sent via email to me.