github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/examples/fizzbuzz/main.neva (about)

     1  component Main(start) (stop) {
     2  	nodes { Range, PrintLine, Match }
     3  
     4      :start -> [
     5          (1 -> range:from),
     6          (101 -> range:to)
     7      ]
     8      range.data -> printLine -> match:data
     9      100 -> match:case[0] -> :stop
    10  }
    11  
    12  component PrintLine(data int) (data int) {
    13      nodes { Mod, Println, Lock<int> }
    14  
    15      :data -> [mod:data, lock:data]
    16  
    17      15 -> mod:case[0] -> ('FizzBuzz' -> println)
    18      3 -> mod:case[1] -> ('Fizz'     -> println)
    19      5 -> mod:case[2] -> ('Buzz'     -> println)
    20      mod:else -> println
    21  
    22      println -> lock:sig
    23      lock:data -> :data
    24  }