|
Copyright ® (1997-2005) EDMGROUP Pty Ltd - EZY Prolog Reference |
EZY Prolog supports Virtual Machine concept.
In object-oriented world there is no such restrictions - due to object encapsulation various programming object could have the same name for functional calls to implement different tasks.
It is a well-known problem in any program interpreter - all function names should have unique name. So, when you try to write something big you should be always care that the name of a clause/function is UNIQUE across whole application.
It is easy when application is small, but once it gets larger - this problem arises when programmer can accidentally re-declare clause, declared in another file.
This problem has been eliminated in EZY Prolog. When interpreter loads prolog rules into memory it creates special object (which I call Virtual Machine). Clauses, compiled for one Virtual Machine (VM), are not accessible from clauses, compiled for another VM.
Due to EZY Prolog GUI-oriented features, EZY Prolog creates VM and associate it with GUI components (such as Dialog). There is a mechanism to pass parameters from one VM to another and receive results back.
When GUI element is closed by EZY Prolog - it destroys associated VM and all compiled clauses.
There is a mechanism to keep compiled clauses by declaring them as global.
EZY Prolog VM is created when:
Prolog console is opened
Dialog creation has been called
For more information - see EZY Dialog sample program, which demonstrates how to create VM, pass and receive parameters back to calling program.
Copyright © 1997-2003 EDMGROUP (Australia)