The ViviFire Programming Language

ViviFire is a brand new open-source programming language with modern features and a familiar syntax. It offers object-oriented programming with genericity and traits, modularity, units of measure, and more.

Currently, ViviFire is at an alpha stage of development. The language is still evolving, and may change dramatically before it's done. If you are interested in how a language is created, join us and help make it great!

ViviFire is released under the MIT license.

Example programs

Hello World

Require ViviFire.IO

PrintLine "Hello, world!"

Generic Function

Require ViviFire.Units

Function add[T](a As T, b As T) As T
    Return a + b

Var x = add(2, 3)     ' 5
Var y = add(2!, 3!)   ' 5.0
Var z = add(2cm, 3mm) ' 0.023 meters

Zahn's construct

Zahn's construct permits “structured control flow”. You can stop a loop when one of many possible conditions occurs.

Require ViviFire.IO

Var sum = 0
For Each num In {2, 3, 5, 7, 11}
Exit When bad_array
    If num = 11  Then Exit bad_array
    sum += num
    If sum > 20 Then Exit bad_array
    // %INDEX is a "magic" loop counter.
    PrintLine %INDEX & ": " & num
When bad_array
    // 'Exit bad_array' causes this block to run.
    PrintLine "Index " & %INDEX & " stopped loop"
    // The loop stopped as usual, without 'Exit'.
    PrintLine "Array is OK"
End For

Examples in the manual

Downloads and repository

Download ViviFire demo (ZIP)

Download ViviFire source code (ZIP)

Browse the GitHub repository.