Hello,
About C++ and my following enhancement to it...
To be able to implement pure functions with Mvars of Haskel more cleanly
in C++, C++ must add properties that you can access only from the
constructor and can not be accessed from the methods of the object.
This way you will be able to implement more cleanly my following
implementation:
Here is how to implement pure functions with Mvars of Haskel and Lisp in
C++..
First you have to call a constructor that will put the global variables
as pointers for example in there respective queues..
And after that each method that wants to access a global variable will
take the global variable from the queue and copy it in a local
variable and work with it locally, and after that it will put
it back in its global queue , and other threads will block waiting
for the variables on there respective queues, it's like message passing
and it's like pure functions with Mvars in Haskel and this mechanism is
good and will avoid race conditions in Object oriented programming.
For Deadlocks use this:
Use Lock Hierarchies to Avoid Deadlock
http://www.drdobbs.com/parallel/use-lock-hierarchies-to-avoid-deadlock/204801163
Thank you,
Amine Moulay Ramdane.