Nim isn't C, `x = y` could have complicated behavior, so it's best that it 
stays void. You could define the walrus operator in Nim with a template like so:
    
    
    template `:=`(a, b): untyped =
      let a = b
      a
    
    x := y := 3
    while (y := fct(x)) > 0:
      discard
    
    
    Run

Reply via email to