Has there been any attempt to restructure the UnIcon/Icon virtual machine so that there are separate data and processor(return) stacks? The model that I'm comparing to is the FORTH virtual machine - data stack and return stack.

I am in the process of rereading "The Implementation of The Icon Programming Language", and a possible implementation variation is to separate the interpreter stack into a set of separated stacks and/or displays. That is separating out the various functions/uses that the stack is being used for into appropriate groups (I think this last sentence doesn't quite mean what I want it to say).

I am currently in the development of a polymorphic typed virtual machine that is based on the FORTH VM with input from work done by David M Harland in the early to mid eighties on polymorphic programming languages and input from the UnIcon/Icon VM and programming languages. It is based on the concept of every value is tagged by its type and the type cannot be separated from the value. The current version is based on a 64 bit word and is being developed in FORTH. One of my goals is to eventually be able to read the .u files directly and execute immediately.

What I am interested in is whether any research has been done into the separation of the stack and what problems were found in doing so. It seems to me that some of the difficulties in the VM implementation would be alleviated by doing the separation, possibly allowing co-expressions to become full fledged processes/threads within the VM - just a thought.

regards

Bruce Rennie
Business Rules: Taming Your I.T.
Warragul
Victoria
Australia




------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Unicon-group mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to