This project hashing of sourcecode (or AST) in the interpreter is a really powerful idea
I plan to use it for a slightly different purpose. I want to implement an interpreter that is multithreaded similar to Java or Erlang that can send objects between shared memory without marshalling or copying.
I had a talk with someone on HN https://news.ycombinator.com/item?id=32907523 about python's Global Interpreter Lock and we talked about how objects are marshalled between subinterpreters due to object identity. The identity of an object is defined at creation time as the hash of that object.
If the hash of the object was the sourcecode, two interpreters could load the same Object hierarchy and send data by hash reference.
I wrote a multithreaded interpreter that uses message passing to send integers and program counters to jump to code in other threads
I plan to use it for a slightly different purpose. I want to implement an interpreter that is multithreaded similar to Java or Erlang that can send objects between shared memory without marshalling or copying.
I had a talk with someone on HN https://news.ycombinator.com/item?id=32907523 about python's Global Interpreter Lock and we talked about how objects are marshalled between subinterpreters due to object identity. The identity of an object is defined at creation time as the hash of that object.
If the hash of the object was the sourcecode, two interpreters could load the same Object hierarchy and send data by hash reference.
I wrote a multithreaded interpreter that uses message passing to send integers and program counters to jump to code in other threads
This is at https://GitHub.com/samsquire/multiversion-concurrency-contro...