> For example, if I create a local seq or string variable on a procedure A, and > that variable is only used within that procedure A or at most is used by > procedures called within that procedure A, will it’s memory be freed > immediately when the procedure A is done (and before other code is executed)?
Correct, it's very close to how C++ works. > That is, are there separate, non deterministic garbage collection events? Is > this suitable for embedded, hard real-time code? Yes, embedded, hard real-time code is supported and was a design goal. There are no separate GC events. > Also, does this require anything that is not in nim v1.0? It adds a `.cursor` pragma that v1.0 can emulate via the `ptr T` type. Everything else is in the language spec for v1.0, but the implementation is in the Nim development branch. You need to get a nightly build to get it.