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

     1  import {
     2  	io
     3  	strconv
     4  }
     5  
     6  component {
     7  	Main(start) (stop) {
     8  		nodes { Aux, Println }
     9  
    10  		:start             -> aux:sig
    11  		[aux:res, aux:err] -> println:data
    12  		println:sig        -> :stop
    13  	}
    14  	
    15  	Aux(sig) (res int, err error) {
    16  		nodes {
    17  			reader1 IntReader
    18  			reader2 IntReader
    19  			adder ReducePort<int> { Add<int> }
    20  		}
    21  
    22  		:sig                       -> reader1:sig
    23  		reader1:num                -> [adder:port[0], reader2:sig]
    24  		[reader1:err, reader2:err] -> :err
    25  		reader2:num                -> adder:port[1]
    26  		adder:res                  -> :res
    27  	}
    28  
    29  	IntReader(sig any) (num int, err error) {
    30  		nodes { io.Scanln, strconv.ParseNum<int> }
    31  
    32  		:sig -> scanln:sig
    33  		scanln:data -> parseNum:data
    34  		parseNum:res -> :num
    35  		parseNum:err -> :err
    36  	}
    37  }