Haystack Essentials now on sale for just $99 USDHaystack Essentials Icon

Syllabus - Axon Programmer

< Back to Axon Programmer

Module 1

An overview of the relationship between Project Haystack and Axon. Understanding of the purpose and operation of Axon as a programming language.

  • How to execute Axon using Shell
  • Basic syntax
  • Basic operations and processing phases

Module 2

An introduction to using key Axon data types and operations for simple expressions.

  • DataTypes; null, boolean, string, numbers and units.
  • Operations; logic, arithmetic and strings.

Module 3

Understanding how to call Axon functions and use arguments.

  • Function syntax and operation.
  • Function signatures and parameters.
  • Using the dot operator.
  • Using 'to()' and 'as()' for converting units.
  • Default arguments and their benefits.
  • Where to find Axon documentation for functions.

Module 4

How to write functions, using arguments, variables, comments and 'if' statements.

  • Basic elements of writing a function.
  • Defining and passing arguments.
  • Using debug to find the contents of passed arguments.
  • Defining and using default arguments.
  • Using variables within functions.
  • How and WHY to use comments
  • If statements and a number of other related operators.

Module 5

Understanding and practicing how to use lists and dicts.

  • How to declare lists and using basic syntax and indexing.
  • How to retrieve and change information held in lists.
  • How to declare dicts and understanding key name pairs.
  • Using basic dict syntax and changing information held in dicts.
  • The use of 'get', 'has' and 'missing', and the trap operator to retrieve information in dicts.

Module 6

A look at different aspects of using the Folio database for retrieving dicts and grids.

  • Read functions for Folio data.
  • Markers and tags and how they are applied.
  • Using Grids and some common functions to manipulate columns and meta.
  • Understanding references and IDs, and de-referencing with other records.
  • How to use filter expressions with read functions and the use of 'parseFilter'.

Module 7

How Axon manages Date and Time literals and some useful functions around parsing this data.

  • Basic Date and Time functions.
  • Durations and how these are calculated in Axon.
  • Time zones
  • How to use date ranges and parse DateTime objects.

Module 8

Reading and manipulating time series history data.

  • Using 'hisRead' and 'hisClip'
  • How to use 'hisRollup' and functions for different intervals
  • Using 'hisWrite' and mandatory tags
  • How to avoid "Out of order" errors.
  • A look at the benefits of time series optimisation in Folio

Module 9

Understanding lambdas and using common syntax and functions.

  • A look at basic lambda functions and variables
  • Trailing lambda, inlining and endless functions
  • Common functions requiring lambdas
  • Functions as arguments

Module 10

Some final (and advanced) Axon topics to complete a robust knowledge of the language; components, error handling, writing history data and Axon IO.

  • Writing to Folio using 'diff' and 'commit'
  • Input/Output - read/write with external sources
  • Error handling using 'throw', 'try', 'catch' with 'err' and 'dis' tags.
  • Components and Rules, using cells and 'defcomp'

Module 11

Course revision and preparation for the final assessment.

< Back to Axon Programmer