There are two errors one can say. First of all, you call chrome() and doc() but you don't do anything with the string that they return. Add echo before like echo chrome() at least.
Secondly, the procs don't actually return the string, you just create a local var x and assign it, but you forgot to return it. Now... procs have an implicit variable called result that you don't need to declare, so you can instead write: proc chrome(): string = result = "string" ...but in fact, you can also make the last line be an expression and Nim will return that implicitly: proc chrome(): string = "string" With those small changes it works