can it reload code at runtime? can i change the definition of a function or class while the program is running?
No. It is a fairly static language, with whole program compilation and optimization. The dynamic loading the parent refers to is like a new VM instance, very different from class/function (re)loading.