(if more than one thread to execute Maat code)
Memory shared accross maatines are via global symbols and upvalues, Maat attemps to automatically synchronize concurrent access to shared memory either through mutexes or atomic operations.
Suppose we are in a multi-threaded environment and that variable x is accessible
to all maatines, having more than one threads to execution maat code implies more
then one maatine, let us determine all the synchronization points in each of the
operations below.
Write operation
x = 20
Read operation
say x + 100
RMW (Read-Modify-Write) operation
x = x + 1
x = [1, 2]
x.push(3)