Introduction

If you're new to Vortex, welcome! This is your starting point...

What is Vortex?

Vortex is a dynamically typed interpreted programming language designed to explore links and relationships between entities through reactive programming.

var x = 0
var y = 0

/*
    Let's set a hook on 'x' so that when it changes, it updates 'y'
*/

x::onChange((e) => {
    println(f"x: ${e.old} -> ${e.current}")
    y = x * 2
})

x = 5

/* 
    Changing 'x' will print the below to the console:
        x: 0 -> 5
    And update the value of 'y'
*/

println(y) // 10

Why use Vortex?

  • Simplicity: It makes creating reactive programs easy

  • Extensibility: It offers C interoperability and can interface with external libraries

  • Modularity: Relative imports allows your code to be modular and well organised

  • Familiar syntax: Easy to write and easy to read syntax

What does Vortex offer?

  • Hooks: Simple reactive programming

  • C Interoperability: Extend the language to suit your needs

  • Coroutines: Building blocks for async code

  • Standard library: Useful modules to solve all kinds of programming problems

Learn more about the core functionality of the language by reading the language reference:

Or skip straight to the examples to see what you can do with Vortex:

Alternatively, if you just want to get started straight away, read the Getting Started guide to learn how to compile Vortex and run your first program:

Last updated